jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jQuery – 为什么没有删除属性? .removeAttr大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_607_0@
@H_607_0@
我创造了一个小提琴来演示我的问题: http://jsfiddle.net/motocomdigital/QyhpX/5/

概述

我正在使用jQuery .animate功能创建一个标签式网站.在我的直播网站上哪一个在第一次轮换时看起来很奇怪,但我似乎无法在小提琴中复制它.

左侧选项卡将div#wrapper右侧定位设置为-170px并返回0 – 然后我添加了.removeAttr(‘style’);删除样式属性,使其不会干扰右侧选项卡.

右边的标签将div#wrapper左侧定位设置为-170px并返回0 – 然后我添加了.removeAttr(‘style’);删除样式属性,使其不会干扰左选项卡.

问题

.removeAttr(‘style’);在.animate完成后,不会删除内联样式属性,如果右侧选项卡已打开,则会导致我的左侧选项卡失效.

请参阅jsfiddle http://jsfiddle.net/motocomdigital/QyhpX/5/

还有人注意到第一个选项卡上的任何故障都打开了交替吗?左还是右?它似乎挂在第一次打开,然后突然它打开,但顺利关闭,然后顺利重新打开.它只是第一次点击开放.

TAB CODE SCRIPT

var $tabLeft    = $(".tab-left-button span"),$tabRight   = $(".tab-right-button span"),$siteSlide  = $("#wrapper");

    $tabLeft.on('click',function () {
        if ($tabLeft.html() == 'X' ) {

            $siteSlide.stop().animate({ right: "0" },300);
            $tabLeft.html('Tab Left');

            return false;

            $siteSlide.removeAttr('style');

        } else {

            $siteSlide.stop().animate({ right: "-170px" },300);
            $tabLeft.html('X');
            $('body,html').animate({
                scrollTop: 0
            },800);                             
        }
    });

    $tabRight.on('click',function () {
        if ($tabRight.html() == 'X' ) {

            $siteSlide.stop().animate({ left: "0" },300);
            $tabRight.html('Tab Right');

            return false;

            $siteSlide.removeAttr('style');

        } else {

            $siteSlide.stop().animate({ left: "-170px" },300);
            $tabRight.html('X');
            $('body,800);                             
        }
    });

任何帮助将非常感激.谢谢

http://jsfiddle.net/motocomdigital/QyhpX/5/

解决方法

正如@JamesMcLaughlin正确提到的,你在.removeAttr调用之前有一个return语句.这就是我们所说的“无法访问的代码”.

但是,即使你要切换这些语句,它仍然无效,因为.animate()是异步工作的.这意味着,一旦动画完成,你需要调用.removeAttr,如下所示:

$siteSlide.stop().animate({ right: "0" },300,function _afterAnimation() {
    $siteSlide.removeAttr('style');
});
@H_607_0@

大佬总结

以上是大佬教程为你收集整理的jQuery – 为什么没有删除属性? .removeAttr全部内容,希望文章能够帮你解决jQuery – 为什么没有删除属性? .removeAttr所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:jqueryremoveattr为什么删除属性没有
猜你在找的jQuery相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap