我正在尝试拖动框,这会改变复选框的状态,机器人这不是我现在想要做的,我试图达到我的 div 不作为背景图像拖动。Div 必须不是背景图像,可以添加背景图像。
(function($){
$.fn.slideCheckbox = function(){
return this.each(function(){
//init, native js for better performance
slidesHolder = document.createElement( 'div' );
slidesHolder.setAttribute( 'class', 'slides_holder' );
slides = document.createElement( 'div' );
slides.setAttribute( 'class', 'slides' );
slidesHolder.appendChild( slides );
slide_on = document.createElement( 'div' );
slide_on.setAttribute( 'class', 'slide_on' );
slide_off = document.createElement( 'div' );
slide_off.setAttribute( 'class', 'slide_off' );
slides.appendChild( slide_on );
slides.appendChild( slide_off );
this.parentNode.insertBefore( slidesHolder, this.nextSibling );
// mouse hold and position
var down = false;
var clickPos = null;
$( slidesHolder ).bind({
mousedown : function( e ){
clickPos = e.pageX;
down = true;
},
mousemove : function( e ){
if ( !down ) return;
// slinkimas i desine
if ( clickPos < e.pageX ) {
$( slides ).offset({ left: e.pageX - clickPos });
}
// slinkimas i kaire
if ( clickPos > e.pageX ) {
$( slides ).offset({ left: e.pageX - clickPos });
}
},
mouseup : function(){
down = false;
}
});
});
}
})(jQuery);
$(function(){
$( '#slide_checkbox' ).slideCheckbox();
});
完整示例如下: