Tho*_*mas 4 jquery tabslideout
我正在使用jquery tabslideout插件.它wporks很好,但我想检测tablideout插件何时滑入和滑出.如果我能检测到那么我可以打电话给另一个例程.我不知道如何在tablideout div滑入和滑出时确定如何捕获.所以请指导我.谢谢
这是我的代码
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script src="http://tab-slide-out.googlecode.com/files/jquery.tabSlideOut.v1.3.js"></script>
<script type="text/javascript">
$(function(){
$('.slide-out-div').tabSlideOut({
tabHandle: '.handle', //class of the element that will become your tab
pathToTabImage: 'images/contact_tab.gif', //path to the image for the tab //Optionally can be set using css
imageHeight: '122px', //height of tab image //Optionally can be set using css
imageWidth: '40px', //width of tab image //Optionally can be set using css
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/ use if tabLocation is left or right
leftPos: '20px', //position from left/ use if tabLocation is bottom or top
fixedPosition: false //options: true makes it stick(fixed position) on scroll
});
});
</script>
<style type="text/css">
.slide-out-div {
padding: 20px;
width: 250px;
background: #ccc;
border: 1px solid #29216d;
}
</style>
<div class="slide-out-div">
<a class="handle" href="http://link-for-non-js-users.html">Content</a>
<h3>Contact me</h3>
<p>Thanks for checking out my jQuery plugin, I hope you find this useful.
</p>
<p>This can be a form to submit feedback, or contact info</p>
</div>
Run Code Online (Sandbox Code Playgroud)
该插件无法通知您它已经发生但是我已经修改了插件以允许您这样做.
我对插件的更改是在动画完成后添加一个回调函数(您可以在选项中提供一个)来运行.
这是一个例子
只有改变是提供一个在滑入或滑出时调用的功能.像这样
$(function(){
$('.slide-out-div').tabSlideOut({
tabHandle: '.handle', //class of the element that will become your tab
pathToTabImage: 'http://wpaoli.building58.com/wp-content/uploads/2009/09/contact_tab.gif', //path to the image for the tab //Optionally can be set using css
imageHeight: '122px', //height of tab image //Optionally can be set using css
imageWidth: '40px', //width of tab image //Optionally can be set using css
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/ use if tabLocation is left or right
leftPos: '20px', //position from left/ use if tabLocation is bottom or top
fixedPosition: false, //options: true makes it stick(fixed position) on scroll
onSlideOut: function() {
alert('Opened');
},
onSlideIn: function() {
alert('Closed');
}
});
});
Run Code Online (Sandbox Code Playgroud)
请注意,您需要使用我在JsFiddle上修改的版本.
希望这可以帮助
UPDATE
Op要求有关我对插件的更改的进一步信息.
首先我添加了我在默认设置中添加了两个新属性,这些属性是空函数.
onSlideOut: function() {},
onSlideIn: function() {}
Run Code Online (Sandbox Code Playgroud)
然后我将该值放入代码中animate方法的回调中.
//Square Bracket for emphasis only
obj.animate({top:'-' + properties.containerHeight}, settings.speed,[settings.onSlideIn]).removeClass('open');
obj.animate({top:'-3px'}, settings.speed,[settings.onSlideOut]).addClass('open');
Run Code Online (Sandbox Code Playgroud)
然后,用户可以提供他们自己的方法实现来覆盖默认值.
如果您需要更多钩子来处理代码,那么您可以考虑查看触发和侦听自定义事件,而不是使用回调.
| 归档时间: |
|
| 查看次数: |
4614 次 |
| 最近记录: |