让一些jquery过度特效只跑一次

一些模板都有一些jquery特效,例如dawnbook这个模板在一开始进入主页的时候有个像翻书一样的效果,点击"开始阅读"之后才会显示文章内容,不过每次点击首页都会重新跳转到那个过度效果。

就跟你翻一本书一样,每次重新度的时候都要从书封面开始翻,这个个人感觉体验不是很好,所以可以加个cookie验证,既然都是用jquery的,自然可以用query.cookie.js插件来实现,首页包含:

 <script type="text/javascript" src="<?php $this->options->themeUrl('js/jquery.cookie.js'); ?>"></script>

然后修改源码中的top.js:

var str = location.href;
var options = {
 path: '/',
 expires: 2
};
if (str == url) {
 $(document).ready(function() {
  if ($.cookie("Visitors")) {
   $(".dawn:visible").slideUp("slow");
   $(".dawn:last").slideDown("slow");
   return false
  } else {
   $(".dawn:first").show()
  }
  $(".name a,#read a").click(function() {
   $.cookie("Visitors", "1", options);
   $(".dawn:visible").slideUp("slow");
   $(".dawn:last").slideDown("slow");
   return false
  })
 })
} else {
 $(document).ready(function() {
  $(".dawn:first").hide();
  $(".dawn:last").slideDown("slow");
  $("#pagenavi1 a:contains('1')").attr("href", "?page=1")
 })
}

写入一个Visitors的值为1的Cookie,然后在页面加载中做判断,另外本文中提到的模板只是做个演示效果,可以放在任何地方,例如可以做个引导页,第一次访问的时候显示。

没有评论: