Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将类元素返回到默认值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 将类元素返回到默认值

Javascript 将类元素返回到默认值,javascript,jquery,html,Javascript,Jquery,Html,我有4个箭头,每个箭头移动一个元素 现在我想创建一个重置按钮,将工件返回到默认位置 //piece object var piece = {}; piece.el = $('#piece'); piece.moveDelta = function(dx, dy){ var pos = this.el.position(); this.el.css('left', pos.left+dx); this.el.css('top', pos.top+dy); }; $(docu

我有4个箭头,每个箭头移动一个元素 现在我想创建一个重置按钮,将工件返回到默认位置

//piece object
var piece = {};
piece.el = $('#piece');
piece.moveDelta = function(dx, dy){
    var pos = this.el.position();
    this.el.css('left', pos.left+dx);
    this.el.css('top', pos.top+dy);
};
$(document).ready(function(){
    //init deltas
    $('#btn-up').data('dx', 0).data('dy', -100);
    $('#btn-left').data('dx', -100).data('dy', 0);
    $('#btn-right').data('dx', 100).data('dy', 0);
    $('#btn-down').data('dx', 0).data('dy', 100);
    //assign click event
    $('.btn-arrow').click(function(){
        piece.moveDelta($(this).data('dx'), $(this).data('dy'));
    });
});

您可以将CSS属性设置为空字符串以重置它们:


您可以将CSS属性设置为空字符串以重置它们:

您可以使用上面定义的
reset
方法


您可以使用上面定义的
reset
方法

如果工件最初是使用“左”和“上”属性定位的,该怎么办。i、 e,@Selvaraj M A:好吧,那么你的解决方案会起作用:)但如果不是这样,这可能会更简单。@shaharnakash:你没有将任何事件处理程序绑定到重置按钮,所以单击它时不会发生任何事情。请参阅我的小提琴以获得有效的解决方案。如果工件最初是使用左属性和上属性定位的,该怎么办。i、 e,@Selvaraj M A:好吧,那么你的解决方案会起作用:)但如果不是这样,这可能会更简单。@shaharnakash:你没有将任何事件处理程序绑定到重置按钮,所以单击它时不会发生任何事情。查看我的小提琴以获得有效的解决方案。通常我在服务器端工作,没有类似的问题通常我在服务器端工作,没有类似的问题。单击“重置”按钮时,应调用重置方法。看一看。我也更新了答案。你应该点击重置按钮调用重置方法。看一看。我也更新了答案。
piece.reset = function() {
    this.el.css({ left: '', top: '' });
};
   //piece object
var piece = {};

var defaultX = null;
var defaultY = null;

piece.el = $('#piece');
piece.moveDelta = function(dx, dy){
    var pos = this.el.position();
    if(defaultX === null && defaultY === null ){
         defaultX = pos.left;
         defaultY = pos.top;
    }
    this.el.css('left', pos.left+dx);
    this.el.css('top', pos.top+dy);
};
piece.reset = function () {
   this.el.css('left', defaultX);
   this.el.css('top', defaultY);
};
$(document).ready(function(){
    //init deltas
    $('#btn-up').data('dx', 0).data('dy', -100);
    $('#btn-left').data('dx', -100).data('dy', 0);
    $('#btn-right').data('dx', 100).data('dy', 0);
    $('#btn-down').data('dx', 0).data('dy', 100);


    //assign click event
    $('.btn-arrow').click(function(){
        piece.moveDelta($(this).data('dx'), $(this).data('dy'));
    });
    $("#btn-reset").click(function(){
       piece.reset();
    });

});