问题
I'm using Ariel Flesler's serialScroll script and would like to add a class to the active, or highlighted item so I can style it with CSS. Reading the documentation I discovered the notify trigger, but I'm not sure how / if it could be used to accomplish this.
This is my code:
jQuery
jQuery(function( $ ){
$('#slideshow').serialScroll({
items:'li',
prev:'#screen2 a.prev',
next:'#screen2 a.next',
offset:-180,
start: 0,
duration:1200,
force:true,
stop:true,
lock:false,
cycle:false,
jump: true
});
});
HTML
<div id="screen2">
<div id="buttons">
<a class="prev" href="#">Previous</a>
<a class="next" href="#">Next</a>
<br class="clear" />
</div>
<div id="slideshow">
<ul>
<li><img src="http://www.stockvault.net/data/s/113497.jpg" /></li>
<li><img src="http://www.stockvault.net/data/s/100177.jpg" /></li>
<li><img src="http://www.stockvault.net/data/s/101916.jpg" /></li>
<li><img src="http://www.dreamstime.com/animal-steps-in-snow-thumb12853223.jpg" /></li>
<li><img src="http://www.dreamstime.com/animal-eggs-thumb15876342.jpg" /></li>
<li><img src="http://www.dreamstime.com/animal-cat-thumb15385101.jpg" /></li>
<li><img src="http://www.dreamstime.com/green-nature-thumb596309.jpg" /></li>
<li><img src="http://www.dreamstime.com/office-in-nature-thumb3256171.jpg" /></li>
<li><img src="http://www.dreamstime.com/nature-tree-thumb16030502.jpg" /></li>
<li><img src="http://www.dreamstime.com/gift-of-the-nature-thumb15977958.jpg" /></li>
<li><img src="http://www.dreamstime.com/nature-abstract-thumb3615419.jpg" /></li>
<li><img src="http://www.dreamstime.com/nature-path-in-forest-with-sunshine-thumb8241130.jpg" /></li>
<li><img src="http://www.dreamstime.com/nature-walk-thumb8436665.jpg" /></li>
<li><img src="http://www.dreamstime.com/save-the-nature-thumb15696583.jpg" /></li>
</ul>
</div>
</div>
Am I misunderstanding the function of the notify trigger? And if so, is there any alternate ways of accomplishing what I'm after?
回答1:
From the plugin example page, here's how onBefore is being used:
onBefore:function( e, elem, $pane, $items, pos ){
/**
* 'this' is the triggered element
* e is the event object
* elem is the element we'll be scrolling to
* $pane is the element being scrolled
* $items is the items collection at this moment
* pos is the position of elem in the collection
* if it returns false, the event will be ignored
*/
//those arguments with a $ are jqueryfied, elem isn't.
}
in that function, you can add your active class, and use the onAfter function to remove the class from the previous element.
来源:https://stackoverflow.com/questions/8345770/jquery-serialscroll-add-class-to-active-item