我正试图让这段代码工作但我在某处肯定是错的。 我有一个带有几个按钮的菜单。每个Button都有一个正确的ID和不同的var。
如果单击某个按钮,其var将被发送到我的“ChangePage”功能
在我的ChangePage函数中,有几个条件,如果它们匹配 然后它会在我的页面上启动动画。
这就是结构。
所以我现在正在测试这件事:
我有2个按钮。
$(function() {
//This button triggers the slider
$('#AddSliderButton').click(function() {
var AddSlider = 1;
$(this).click(PageChange);
});
//This button removes the slider
$('#RemSliderButton').click(function() {
var AddSlider = 0;
$(this).click(PageChange);
});
function PageChange() {
var Slider = 0; //the slider is not opened by default
if (Slider == 1 && AddSlider == 0) {
//Remove slider
$(".donotshow").fadeOut("slow");
$("#slider").animate( {"height": "0%"}, "slow");
$("#wrap-slider").css({"display": "inline"});
var Slider = 0;
}
else if (Slider == 0 && AddSlider == 1) {
//Trigger Slider
$("#wrap-slider").css({"display": "inline"});
$(".donotshow").fadeIn("slow");
$("#slider").animate( {"height": "100%"}, "slow");
var Slider = 1;
}
else {
//Do Nothing
var Slider = 0;
}
}
});
我想知道为什么我的按钮不调用PageChange功能? 非常感谢
答案 0 :(得分:0)
尝试像这样调用你的函数:
$('#AddSliderButton').click(function() {
var AddSlider = 1;
PageChange();
});
答案 1 :(得分:0)
$(this).click(PageChange);
正在添加另一个点击处理程序,因此第二次单击该按钮时,PageChange
例程应该执行。
请改为尝试:
$('#AddSliderButton').click(function () {
var AddSlider = 1;
PageChange();
});
$('#RemSliderButton').click(function () {
var AddSlider = 0;
PageChange();
});
答案 2 :(得分:0)
$('#AddSliderButton').click(function() {
var AddSlider = 1;
PageChange(AddSlider);
});
function PageChange(AddSlider) {
var Slider = 0; //the slider is not opened by default
if (Slider == 1 && AddSlider == 0) {
//Remove slider
$(".donotshow").fadeOut("slow");
$("#slider").animate( {"height": "0%"}, "slow");
$("#wrap-slider").css({"display": "inline"});
var Slider = 0;
}
else if (Slider == 0 && AddSlider == 1) {
//Trigger Slider
$("#wrap-slider").css({"display": "inline"});
$(".donotshow").fadeIn("slow");
$("#slider").animate( {"height": "100%"}, "slow");
var Slider = 1;
}
else {
//Do Nothing
var Slider = 0;
}
}
});
答案 3 :(得分:0)
尝试交换
$(this).click(PageChange);
代表
PageChange();
答案 4 :(得分:0)
尝试拨打
PageChange()
而不是
$(this).click(PageChange);
答案 5 :(得分:0)
您可以同时定义AddSlider
& Slider
作为全局变量。
$(function() {
var AddSlider;
var Slider = 0;
//This button triggers the slider
$('#AddSliderButton').click(function() {
AddSlider = 1;
PageChange();
});
//This button removes the slider
$('#RemSliderButton').click(function() {
AddSlider = 0;
PageChange();
});
function PageChange() {
if (Slider == 1 && AddSlider == 0) {
//Remove slider
$(".donotshow").fadeOut("slow");
$("#slider").animate( {"height": "0%"}, "slow");
$("#wrap-slider").css({"display": "inline"});
Slider = 0;
}
else if (Slider == 0 && AddSlider == 1) {
//Trigger Slider
$("#wrap-slider").css({"display": "inline"});
$(".donotshow").fadeIn("slow");
$("#slider").animate( {"height": "100%"}, "slow");
Slider = 1;
}
else {
//Do Nothing
Slider = 0;
}
}
});