是否有替代.toggle()的jquery

时间:2016-12-13 12:22:53

标签: javascript jquery html

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

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

我的Js功能代码

function hideToggle(button, elem) {

  $(button).toggle(
    function() {
      $(elem).hide();
    },
    function() {
      $(elem).show();
    }  );
}

hideToggle(".button1", ".iframe1");

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

5 个答案:

答案 0 :(得分:5)

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

CSS

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

JQuery的

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

答案 1 :(得分:1)

奇怪的是,对此的简单解决方案是different toggle function。此功能切换元素的显示。

您的功能可以简化为

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

答案 2 :(得分:1)

您可以点击.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(); })
}

答案 3 :(得分:0)

它们似乎没有用等效方法替换它。但是,您可以这样做:

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

答案 4 :(得分:-1)

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

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

所以

$('button').toggle()

如果元素可见则隐藏元素,或者显示它 - 如果它是可见的