如果身体等级等于X然后做一些事情?

时间:2010-12-01 12:11:07

标签: javascript jquery

我的代码是从外部脚本运行的,用于网站上每个页面的图像滑块。

$(document).ready(function() {
  $("#slideshow").show();
  $('#slider1').anythingSlider({
    buildNavigation: false,
    delay: 8000
    })

在其中一个页面上,我不希望图像滑块自动旋转,因此我需要添加一个额外的变量。我已经在页面的主体上放了一个课程,并希望按照...的方式做一些事情。

如果正文有一个'partnerCharitiesDetail'类,则运行此脚本而不是通用脚本

这是我在下面尝试过的(没有成功)。我真的有两个问题,

1)当有两个相同的脚本运行时(如本例所示)jQuery会发生什么情况,是否会用较新的脚本覆盖较旧的脚本?

2)我哪里错了?!我的方法是最好的方法吗?

$(document).ready(function() {
 $("#slideshow").show();
  $('#slider1').anythingSlider({
    buildNavigation: false,
    delay: 8000
  })

  if ($('body.partnerCharitiesDetail').length > 0){
  $('#slider1').anythingSlider({
  buildNavigation: false,
  delay: 8000,
  startStopped: false
 }) 
}

谢谢!

5 个答案:

答案 0 :(得分:18)

使用hasClass()方法检查元素是否具有某个类。

另外,你的代码有点重复(甚至可能导致AnythingSlider运行两次) - 我会这样写:

$(document).ready(function() {
    // Initialize options first
    var options = {
        buildNavigation: false, 
        delay: 8000
    };

    // Only disable startStopped if the body has this class
    if ($('body').hasClass('partnerCharitiesDetail')) {
        options.startStopped = false;
    }

    // Show the #slideshow element and start the slideshow
    $('#slideshow').show();
    $('#slider1').anythingSlider(options);
});

答案 1 :(得分:4)

你看过hasClass

了吗?

所以你可以说

if($("body").hasClass("partnerCharitiesDetail"))
{
}
else
{
}

答案 2 :(得分:2)

if ($('body').hasClass('partnerCharitiesDetail')) {
   ...

我建议:

$("#slideshow").show();
var options = {
    buildNavigation: false,
    delay: 8000
  };

if ($('body').hasClass('partnerCharitiesDetail')) {
    options.startStopped = false;
}
$('#slider1').anythingSlider(options);

答案 3 :(得分:1)

行为取决于您使用的anythingSlider插件的工作原理。如果插件考虑重新初始化某个元素,那么第二个初始化将覆盖前一个,但更可能的是你真的搞乱你的DOM并使事件监听器加倍等。

正如所指出的,检查某些东西是否有类的正确方法是.hasClass(“classname”)。

if($("body").hasClass("partnerCharitiesDetail")) {
}
else {
}

虽然在这个具体案例中我只是做

$('#slider1').anythingSlider({
     buildNavigation: false,
     delay: 8000,
     startStopped: !($("body").hasClass("partnerCharitiesDetail"))
})  

并且可能为未来的探险家添加评论。

答案 4 :(得分:0)

试试这个

if($("body").isClass(".partnerCharitiesDetail")) {
//code if body has specific class name 
}
else {
//code if body has no specific class name 
}