如何设置变量来引导替代类?
这是对前一个问题的重新发布。 其他问题的表述还不够好。 我不会删除其他问题,因为它可能对其他人有用。
大家好,
我有一个javascript / jquery脚本,包含cookie并通过为body标签指导background-image-classes。 这个脚本的一小部分例如:
$('.somebuttons_class').live('click', function(){ $('#body_bg').removeClass('image10').addClass('image1'); $.cookie('bg_for_the_day', 'image1', { path: '/', expires: 1 }); });
在这段脚本中,用户正在向’body_bg’显示可选的’image10’,但是想要将其更改回’image1’的默认图像。
此脚本现在位于我的“mypage.html”页面的主题部分。 我想把它移到外部的js页面。
问题是:正如你所看到的,我已经通过名称’image1’调用了主体的默认类。 但是’myotherpage.html’的默认类是’image2’,而’yetanother.html’是’image3’。 这意味着我必须将整个脚本复制/过去“myotherpage.html”并将所有’image1’更改为’image2’。 这是很多dubble代码,但它会工作。 但是,如图所示,我的cookie也给了我返回值=’image1’。 所以这对我的其他任何页面都不起作用!
问题:如何在我的javascript中设置一个名为’default’的变量,而不是class =’image1’或’image2’? 如果页面是’mypage.html’,如何输入脚本将’default’翻译回’image1’,如果页面是’myotherpage.html’,则使用’image2’?
只是为了给你一个我的意思:
var currentPage = window.location.pathname; var default; if(currentPage == "mypage.html"){ default = "image1"; } if(currentPage == "myotherpage.html"){ default = "image2"; }
然后前面的脚本将看起来像这样:
$('.somebuttons_class').live('click', function(){ $('#body_bg').removeClass('image10').addClass('default'); $.cookie('bg_for_the_day', 'default', { path: '/', expires: 1 }); });
我现在已经学到了很多关于javascript的知识,这感觉就像进入了一个新的水平;)我提前感谢你的帮助。
编辑:答案后,我再次尝试。 我没有让它发挥作用。 我决定制作一个简单版本的实际脚本并在此处发布。 如果你有空闲时间,请检查一下。
您可以在此处下载测试页 。 欢迎各方面的帮助!
您的代码在此行中看起来没问题:
$.cookie('bg_for_the_day', 'default', { path: '/', expires: 1 });
应该是:
$.cookie('bg_for_the_day', default, { path: '/', expires: 1 });
所以cookie的值是你的变量(在你的代码中,cookie的值总是“默认”