我正在尝试创建一个主切换函数,它将折叠/展开所有的迷你切换。我的迷你切换功能是:
$('.tog').toggle(
function(){
$('#togStat').val(1);
var myID = $(this).attr("id").split('-')[1];
$('#collapseObj-'+myID).hide();
$('#collapseImg-'+myID).attr({src:'images/collapse_tcat_collapsed.gif'});
},
function(){
$('#togStat').val(0);
var myID = $(this).attr("id").split('-')[1];
$('#collapseObj-'+myID).show();
$('#collapseImg-'+myID).attr({src:'images/collapse_tcat.gif'});
});最重要的是:
<cfoutput>
$('.togAll').toggle(
function(){
<cfloop from="1" to="10" index="i">
$('##collapseObj-#i#').hide();
$('##collapseImg-#i#').attr({src:'images/collapse_tcat_collapsed.gif'});
</cfloop>
$('##collapseImg-All').attr({src:'images/expand_icon.png'});
$('##collapseImg-All').attr({title:'expand all'});
$('##collapseImg-All').attr({alt:'expand all'});
},
function(){
<cfloop from="1" to="#getMaxCatID.catID#" index="i">
$('##collapseObj-#i#').show();
$('##collapseImg-#i#').attr({src:'images/collapse_tcat.gif'});
</cfloop>
$('##collapseImg-All').attr({src:'images/collapse_icon.png'});
$('##collapseImg-All').attr({title:'collapse all'});
$('##collapseImg-All').attr({alt:'collapse all'});
});
</cfoutput>我正在使用coldfusion。master函数遍历1到X,并创建类似于:
$('#collapseObj-1').hide();
$('#collapseObj-2').hide();
$('#collapseObj-1').hide();我的问题是,当我点击主控开关时,我必须双击迷你开关才能打开折叠的div。有没有一种方法可以将切换(偶数,奇数)更改为切换(奇数,偶数)?谢谢
发布于 2011-01-05 06:16:37
这似乎适用于onclick操作:
if (!$('#collapseObj-1').is(':hidden')) {
$('#collapseObj-1').hide();
$('#collapseImg-1').attr({src:'images/collapse_tcat.gif'});
} else {
$('#collapseObj-1').show();
$('#collapseImg-1').attr({src:'images/collapse_tcat_collapsed.gif'});
}发布于 2010-12-22 15:26:09
首先,jQuery.toggle实际上切换了可见性。您似乎将其视为具有onShow和onHide参数的函数,这是错误的。参见http://api.jquery.com/toggle/。按照您编写它的方式,您有两个函数作为参数,但toggle接受其中一个
函数回调boolean showOrHide
显然,您对.toggle()的使用是错误的。如果你想在某个事件发生时改变可见性,你可以编写一个函数,根据当前的可见性显示/隐藏一个小开关。我看不到#togStat做了什么,但我把它藏起来了。
var togStat = $('#togStat');
function miniToggle(id) {
var elem = $('#collapseObj-' + id);
if (elem.is(':visible')) {
togStat.val(1);
elem.hide();
$('#collapseImg-' + id).attr({src: 'images/collapse_tcat_collapsed.gif'});
} else {
togStat.val(0);
elem.show();
$('#collapseImg-' + id).attr({src: 'images/collapse_tcat.gif'});
}
}您可以像这样调用元素编号(如示例中的元素编号):
miniToggle(1);我希望这对你有帮助。如果没有,你可能想要发布一个示例页面,这样我们就可以检查实际的代码。
https://stackoverflow.com/questions/4502799
复制相似问题