Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果身体等级等于X,那么做些什么?_Javascript_Jquery - Fatal编程技术网

Javascript 如果身体等级等于X,那么做些什么?

Javascript 如果身体等级等于X,那么做些什么?,javascript,jquery,Javascript,Jquery,我使用外部脚本为站点上的每个页面运行图像滑块 $(document).ready(function() { $("#slideshow").show(); $('#slider1').anythingSlider({ buildNavigation: false, delay: 8000 }) 在其中一个页面上,我不希望图像滑块自动旋转,因此我需要添加一个额外的变量。我在页面的主体上添加了一个类,并希望按照以下内容做一些事情 如果正文中有一个“partnerCh

我使用外部脚本为站点上的每个页面运行图像滑块

$(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
 }) 
}
谢谢

if ($('body').hasClass('partnerCharitiesDetail')) {
   ...
我建议:

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

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

所以你可以说

if($("body").hasClass("partnerCharitiesDetail"))
{
}
else
{
}
使用
hasClass()
方法检查元素是否具有特定的类

此外,您的代码有点重复(甚至可能导致任何东西滑块运行两次)-我将这样编写:

$(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);
});

试试这个

if($("body").isClass(".partnerCharitiesDetail")) { //code if body has specific class name } else { //code if body has no specific class name } if($(“body”).isClass(.partnerCharitiesDetail”)){ //如果主体具有特定的类名,则编码 } 否则{ //如果主体没有特定的类名,则编码 }
行为取决于您使用的anythingSlider插件的工作方式。如果插件需要重新初始化某个元素,那么第二次初始化将覆盖前一次初始化,但更可能的情况是,您会真正弄乱DOM并获得双倍的事件侦听器等

正如所指出的,检查某个对象是否有类的正确方法是.hasClass(“classname”)

虽然在这种特殊情况下我会

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

也许还可以为未来的探险家添加一条评论。

他不是在问如何将
startstop
与任何东西一起使用。他在问如何检查身体等级。我想我明白你的意思了。谢谢你纠正我的错误,太好了!这是完美的工作,是一个干净得多,更有意义。谢谢我猜我的线索在黑体字“有一门课”!
$('#slider1').anythingSlider({
     buildNavigation: false,
     delay: 8000,
     startStopped: !($("body").hasClass("partnerCharitiesDetail"))
})