破解javascript按钮的未知原因

时间:2013-05-19 00:09:43

标签: javascript jquery button prettyphoto

我已经慢慢建立了一个投资组合网站已经有一段时间了,我已经使用了一些简单的脚本。最近,其中一些脚本已停止工作。

供参考,这是我的网站:http://www.jcstudios.org

页面左下角的元链接应该会显示一个登录表单来代替导航菜单,然后在点击时来回切换。但是,最近这个javascript按钮坏了。我注意到在将prettyphoto插件安装到我的网站后不久就发生了。如果这是弄乱我的脚本的情况,我想找到一个修复,因为这个插件是唯一能够实现我正在寻找的插件之一。有什么想法为什么这个脚本停止工作?

这是剧本,但我向你保证,在自发破坏之前它已经工作了一段时间。

$('.togglemeta').toggle(function(){
    $('.togglemeta').text('Site Nav')
    $('#meta').css('display', 'block');
    $('#sitenav').css('display', 'none');
},function(){
    $('.togglemeta').text('Meta')
    $('#meta').css('display', 'none');
    $('#sitenav').css('display', 'block');
})

目前,此按钮已损坏,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:4)

你可能已经升级了jQuery,而在1.9.1版本中,你现在正在使用的是这种方式使用的toggle()函数已被弃用和删除,现在它只隐藏和显示元素。

您必须创建自己的切换功能:

$('.togglemeta').on('click', function(){
    var state = $(this).data('state');

    if (state) {
        $('.togglemeta').text('Meta')
        $('#meta').css('display', 'none');
        $('#sitenav').css('display', 'block');
    }else{
        $('.togglemeta').text('Site Nav')
        $('#meta').css('display', 'block');
        $('#sitenav').css('display', 'none');
    }

    $(this).data('state', !state);
});