是否有替代.toggle()的jquery

目前根据Jquery 站点 .toggle()已在1.8版本之后折旧。 那么有什么替代.toggle(),因为我需要菜单应用程序的function,我需要隐藏和显示基于按钮单击的div的内容

我已经根据JSFiddle完成了任务,但我已经在我的网站上加载1.12.4版本的jquery用于其他用途

我的Jsfunction代码

function hideToggle(button, elem) { $(button).toggle( function() { $(elem).hide(); }, function() { $(elem).show(); } ); } hideToggle(".button1", ".iframe1"); 

那么有没有办法防止加载两个版本的jquery

这基本上就是hideshow正在做的事情。

CSS

 .hidden { display:none; /* you could also use !important here */ } 

JQuery的

  $('#someElement').toggleClass('hidden'); 

奇怪的是,对此的简单解决方案是不同的 togglefunction 。 此function切换元素的显示。

您的function可以简化为

 function hideToggle(button, elem) { $(button).click( function() { $(elem).toggle(); } ); } 

你可以在点击时调用.toggle()来实现完全相同的事情:

 $(".button1").click(function() { $(".iframe1").toggle();}); $(".button2").click(function() { $(".iframe2").toggle();}); 

更新了小提琴: https : //jsfiddle.net/6g3cko1h/3/,包括实用程序样式安装方法的更新版本:

 function hideToggle(button, elem) { $(button).click(function() { $(elem).toggle(); }) } 

它们似乎没有用等效方法取而代之。 但是,您可以这样做:

 $(button).on('click', function() { if ($(elem).is(':visible') { // if $(elem) is visible $(elem).hide(); / hide it } else { // if not $(elem).show(); // show it } 

您不了解已弃用的内容。 切换function有效。 这是“显示或隐藏匹配的元素”。

切换的当前文档是 – http://api.jquery.com/toggle/

所以

 $('button').toggle() 

隐藏元素(如果它可见)或显示它 – 如果它是可见的