正如问题所说,我无法调用嵌套函数! 这是JavaScript:
var n;
var i = 0;
$("#men").click(function(){
$("#reshead").slideToggle("300");
});
$("#nxt").click(function() {
pic(i+=n);
});
$(window).on("scroll", function() {
if($(window).scrollTop() > 50) {
$("#header").addClass("scroll");
} else {
$("#header").removeClass("scroll");
}
});
function pic(n) {
if(n=1){
dx1();
} else if (n==2) {
dx2();
} else if (n=3){
dx3();
} else{
n=0;
}
}
function dx1() {
document.getElementById("picb").style.backgroundImage='url("src/black-belt.png")';
}
function dx2() {
document.getElementById("picb").style.cssText+='background-image:url(src/kut.png);background-repeat:no-repeat; width:auto;height:auto;';
}
function dx3() {
document.getElementById("picb").style.cssText+='background-image:url(src/slmb.jpg);background-repeat:no-repeat; width:auto;height:auto;';
}
我尽力了。什么都没发生。该代码用于幻灯片放映,其中背景图像单独更改。 我首先在jQuery中尝试过但它并没有发生。所以我尝试使用简单的JavaScript,它仍然无法正常工作。
答案 0 :(得分:3)
if(n=1)
和
else if(n=3)
是分配而非比较运营商...
答案 1 :(得分:0)
您要为n
分配一个值,以便它始终进入第一个if
。尝试使用==
运算符:
function pic(n) {
if(n==1){
dx1();
}
else if(n==2){
dx2();
}
else if(n==3){
dx3();
}
else{
n=0;
}
}
答案 2 :(得分:0)
请注意,即使使用语法修复,尝试将undefined
添加到0
时仍会遇到问题。
pic(i+=n);
第一次调用时i
等于0
,n
等于undefined
。之后,i
将等于NaN
,n
将等于0
。