チェックボックスのステータスを変更するボックスをドラッグしようとしていますが、それは私が今やりたいことではありません.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();
});
以下の完全な例: