滑动形式不正常?

时间:2014-12-19 07:50:48

标签: javascript sliding

1)我需要"打开面板"和"关闭面板"工作但无法正常工作

2)代码位于以下链接中。

3)请检查您能正确理解的链接

http://jsfiddle.net/vamsivelaga/2jgL44c5/

function slide_open(){
    var a=document.getElementById("strip");
    a.setAttribute("onClick","close_panel()");
    close_panel();
    }
function open_panel(){
    var right_position= 0;
    var slide_form=document.getElementById('contact_form');
    if(parseInt(slide_form.style.right) < right_position){
        slide_form.style.right=parseInt(slide_form.style.right) + 2 + "px";
        setTimeout(open_panel(), 1);
        }
    slide_open();
    }
function slide_close(){
    var a=document.getElementById('strip');
    a.setAttribute("onClick", "open_panel");
    open_panel();
    }
function close_panel(){
    var right_position= -200;
    var slide_form=document.getElementById('contact_form');
    if(parseInt(slide_form.style.right) > right_position){
        slide_form.style.right=parseInt(slide_form.style.right) - 2 + "px";
        setTimeout(close_panel(), 1);
        }
    slide_close();
    }

1 个答案:

答案 0 :(得分:0)

我建议一个更简单的解决方案。始终尝试在CSS文件中执行所有CSS样式,并通过在元素上应用和删除类来控制不同的状态。像这样:

var strip = document.getElementById('strip');
var slide_form=document.getElementById('contact_form');

strip.addEventListener('click',function(){
    if (slide_form.classList.contains('open'))
        slide_form.className = slide_form.className.replace(' open', '');
    else
        slide_form.className = slide_form.className + ' open';
});

Here's a fiddle