jquery - 从右向左滑动切换 DIV

标签 jquery css jquery-animate

我试图将一个 DIV 从右向左滑动到另一个 DIV 上。它适用于初始滑过,但它是不起作用的滑回。它再次从右向左滑动消失,然后我尝试再次单击按钮,但在第一次打开和关闭后它不起作用。

我要遵循的代码:

function changeFeat () {
    if(jQuery('#featartinside').css('display') == 'none') {
        jQuery('#featartinside').animate({
            width: 730,
            marginLeft: 1,
            marginRight: -730,
            display: 'toggle'
        }, 'slow');
    } else {
        jQuery('#featartinside').animate({
            width: -730,
            marginLeft: 1,
            marginRight: 730,
            display: 'toggle'
        }, 'slow');
    }
}

#featartban {
    position: relative;
    background: url(../images/featart.png) top left no-repeat;
    width: 54px;
    height: 279px;
    cursor: pointer;
    float: left;
    left: 730px;
    margin-bottom: -279px;
}

#featartinside {
    height: 279px;
    width: 0;
    margin-left: 730px;
    background: #D13630;
    float: left;
    margin-bottom: -279px;
}

就像我说的,打开效果很好,但关闭效果不佳,因为它继续从右到左而不是从左到右关闭。然后我无法获得第二个打开和关闭。

编辑 HTML:

<div id="featartban" onclick="changeFeat(); return false;"></div>
<div id="featartinside" style="display: none;"></div>

最佳答案

坚持使用 jQuery。

<div id="featartban"></div>
<div id="featartinside" style="display: none;"></div>​

var $featartban = $("#featartban");
var $featartinside = $("#featartinside");
$featartban.toggle(function show() {
  $featartinside.animate({
    width: 730,
    marginLeft: 1,
    marginRight: -730,
    display: 'toggle'
  }, 'slow');
}, function hide() {
  $featartinside.animate({
    width: 0,
    marginLeft: 730,
    marginRight: 0,
    display: 'toggle'
  }, 'slow');
});​

.toggle() (不要与 .toggle() 混淆)太棒了。

See it live here.

关于jquery - 从右向左滑动切换 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13635073/

相关文章:

html - AMP 图片未显示

javascript - JQuery Cookie 1 分钟后过期

javascript - 收到 JSON 时的 jQuery 事件 - 一次性 URL

javascript - 链接到蓝图 CSS 选项卡?

css - 如何在 Webkit 浏览器(Chrome、Safari)的段落首行使用全大写字母

jQuery:具有点击不透明度变化的图像推子

javascript - 如何使用表单在 View 中更新模型列表而不使用 rails 中的 javascript (coffeescript) 刷新?

css - 为什么 bootstrap 风格没有在 jsFiddle 中应用?

javascript - 从页面底部向上滚动到一个元素

jquery。用动画改变 div 宽度不起作用