Jquery 如何通过每次使用传递不同的#id来使函数动态化?
我正在尝试重用这个函数,但要使它能够传递不同的选择器,而不是每次都要为不同的选择器名称多次编写函数 以下是我到目前为止的代码。 如果你看我的代码,我想改变变量元素。所以我可以传入'about',它会将变量元素更改为$(“about slide.animate”)。 我希望这能让你自食其力Jquery 如何通过每次使用传递不同的#id来使函数动态化?,jquery,Jquery,我正在尝试重用这个函数,但要使它能够传递不同的选择器,而不是每次都要为不同的选择器名称多次编写函数 以下是我到目前为止的代码。 如果你看我的代码,我想改变变量元素。所以我可以传入'about',它会将变量元素更改为$(“about slide.animate”)。 我希望这能让你自食其力 function animateLight() { var elem = $("#solutions-slide .animate"); elem.fadeIn(); setIn
function animateLight() {
var elem = $("#solutions-slide .animate");
elem.fadeIn();
setInterval(function(){
elem.animate({
opacity: "-=0.1"
}, 200 , function() {
if(elem.css("opacity") <= 0.5){
$(this).css({
opacity: '1'
});
}
});
},50);
}
函数animateLight(){
var elem=$(“#解决方案幻灯片.动画”);
元素fadeIn();
setInterval(函数(){
动画元素({
不透明度:“-=0.1”
},200,函数(){
如果(elem.css(“不透明”)我会将其更改为:
然后可以通过执行animateLight(“解决方案”);
我会改为:
然后可以通过执行animateLight(“解决方案”);
像这样的东西听起来像你要找的:
function animateLight(prefix) {
var elem = $("#" + prefix + "-slide .animate");
elem.fadeIn();
setInterval(function(){
elem.animate({
opacity: "-=0.1"
}, 200 , function() {
if(elem.css("opacity") <= 0.5){
$(this).css({
opacity: '1'
});
}
});
},50);
}
函数animateLight(前缀){
var elem=$(“#”+前缀+“-slide.animate”);
元素fadeIn();
setInterval(函数(){
动画元素({
不透明度:“-=0.1”
},200,函数(){
如果(elem.css(“opacity”)类似的内容听起来像您正在寻找的内容:
function animateLight(prefix) {
var elem = $("#" + prefix + "-slide .animate");
elem.fadeIn();
setInterval(function(){
elem.animate({
opacity: "-=0.1"
}, 200 , function() {
if(elem.css("opacity") <= 0.5){
$(this).css({
opacity: '1'
});
}
});
},50);
}
函数animateLight(前缀){
var elem=$(“#”+前缀+“-slide.animate”);
元素fadeIn();
setInterval(函数(){
动画元素({
不透明度:“-=0.1”
},200,函数(){
如果(elem.css(“opacity”)有两种简单的方法可以解决这个问题,一种方法是使用enum和
switch语句
var SELECTOR_ENUM = { solutions: 0, about: 1 };
function animateLight(selector) {
var suffix = "-slide .animate";
switch( selector ) {
case 0:
elem = $( "#solutions" + suffix );
break;
case 1:
elem = $( "#about" + suffix );
break;
//you see where im going...
default:
elem = $( "#solutions" + suffix );
break;
}
//the rest of your code
}
我知道这是更多的代码,但这是非常可扩展的,只需添加新的选择器到
enum和switch语句以及您的就绪状态。最好的部分是您不必这样做
每次调用函数时键入选择器,以最大限度地减少出错的机会
发生。但是,如果要在多个函数中使用选择器,
我建议使用数组或字典将所有选择器放在一个位置。有两种简单的方法可以解决这个问题,一种方法是使用枚举和
switch语句
var SELECTOR_ENUM = { solutions: 0, about: 1 };
function animateLight(selector) {
var suffix = "-slide .animate";
switch( selector ) {
case 0:
elem = $( "#solutions" + suffix );
break;
case 1:
elem = $( "#about" + suffix );
break;
//you see where im going...
default:
elem = $( "#solutions" + suffix );
break;
}
//the rest of your code
}
我知道这是更多的代码,但这是非常可扩展的,只需添加新的选择器到
enum和switch语句以及您的就绪状态。最好的部分是您不必这样做
每次调用函数时键入选择器,以最大限度地减少出错的机会
发生。但是,如果要在多个函数中使用选择器,
我建议使用数组或字典将所有选择器放在一个地方。为什么不让事情变得更灵活一些呢?函数animateLight(obj){var elem=$(obj);
以及上面提到的其他内容?然后可以传入选择器、jQuery对象或DOM元素——基本上是$()
理解。为什么不让事情变得最灵活呢?函数animateLight(obj){var elem=$(obj);
以及上面提到的其他内容?然后可以传入选择器、jQuery对象或DOM元素——基本上是$()
理解。谢谢!这正是我想要的,我对所有的过场辩论都是陌生的。就像一个符咒。谢谢!这正是我想要的,我对所有过场辩论都是陌生的。就像一个符咒。