最近、スタック オーバーフローの回答でクリック時に div をスライド アウトする解決策を見つけました。
彼らはリンクを投稿しましたjsfiddle.net/LU8En/
。
jsfiddle の回答では、jquery 1.7.2 を使用しました。jquery 1.9.1 では動作しません。理由がわからない…?何か案が..?
最近、スタック オーバーフローの回答でクリック時に div をスライド アウトする解決策を見つけました。
彼らはリンクを投稿しましたjsfiddle.net/LU8En/
。
jsfiddle の回答では、jquery 1.7.2 を使用しました。jquery 1.9.1 では動作しません。理由がわからない…?何か案が..?
これを試してください: フィドル
$(function () {
$("#clickme").click(function () {
if($(this).parent().css("right") == "-280px"){
$(this).parent().animate({right:'0px'}, {queue: false, duration: 500});
}
else {
$(this).parent().animate({right:'-280px'}, {queue: false, duration: 500});
}
});
});
.toggle(function, function, ... ) はバージョン 1.9 から削除されました
jQuery Core 1.9 アップグレード ガイドを参照してください。
より良いアプローチ:サンプル 2
$(function () {
$("#clickme").click(function () {
if($(this).parent().hasClass("popped")){
$(this).parent().animate({right:'-280px'}, {queue: false, duration: 500}).removeClass("popped");
}else {
$(this).parent().animate({right: "0px" }, {queue: false, duration: 500}).addClass("popped");}
});
});
トグル機能は 1.9 jquery から削除されました。
これを試すことができます:
var test= true;
$("#clickme").click(function () {
if(test){
$(this).parent().parent().animate({left:'0px'}, {queue: false, duration: 500});
}
else{
$(this).parent().parent().animate({left:'-280px'}, {queue: false, duration: 500});
}
test= !test;
以下のサンプルはあなたを助けることができます. ありがとう
<div id="slideout">
<div id="slidecontent">
Yar, there be dragonns herre!
</div>
<div id="clickme">
</div>
</div>
#slideout {
background: #666;
position: absolute;
width: 300px;
height: 80px;
top: 45%;
left:-280px;
}
#clickme {
float: right;
height: 20px;
width: 20px;
background: #ff0000;
}
#slidecontent {
float:left;
}
$(function () {
$("#clickme").toggle(function () {
$(this).parent().animate({left:'0px'}, {queue: false, duration: 500});
}, function () {
$(this).parent().animate({left:'-280px'}, {queue: false, duration: 500});
});
});
<div id="slideout">
<div id="slidecontent">
Yar, there be dragonns herre!
</div>
<div id="clickme">
</div>
</div>
body {
overflow-x: hidden;
}
#slideout {
background: #666;
position: absolute;
width: 280px;
height: 80px;
top: 45%;
right:-280px;
padding-left: 20px
}
#clickme {
position: absolute;
top: 0; left: 0;
height: 20px;
width: 20px;
background: #ff0000;
}
#slidecontent {
float:left;
}
$(function () {
$("#clickme").toggle(function () {
$(this).parent().animate({right:'0px'}, {queue: false, duration: 500});
}, function () {
$(this).parent().animate({right:'-280px'}, {queue: false, duration: 500});
});
});
このスクリプトを試してみてください。簡単な方法でスライドアウト div を作成するのに役立ちます
<script>
$(function(){
$('.slide-out-div').tabSlideOut({
tabHandle: '.handle', //class of the element that will be your tab
pathToTabImage: 'images/contact_tab.gif', //path to the image for the tab *required*
imageHeight: '122px', //height of tab image *required*
imageWidth: '40px', //width of tab image *required*
tabLocation: 'left', //side of screen where tab lives, top, right, bottom, or left
speed: 300, //speed of animation
action: 'click', //options: 'click' or 'hover', action to trigger animation
topPos: '200px', //position from the top
fixedPosition: true, //options: true makes it stick(fixed position) on scroll
onLoadSlideOut: true
});
});
</script>
<div class="slide-out-div">
<a class="handle" href=""></a>
<h3>San Web Corner</h3>
<p>San Web Corner is one of the simple tutorial blog consist various tips and codes</p>
</div>