J'utilise un plugin jquery sur ma page, vTicker, "pour un défilement automatique des nouvelles vertical facile et simple". Je l'utilise en combinaison avec un plugin rss jquery. Cela fonctionne bien, mais j'ai besoin de créer un bouton qui fera un défilement manuel. Quelqu'un peut-il me dire comment faire cela? Je devine que je dois appeler la fonction moveUp du fichier vTicker, mais à cause de la façon dont la fonction est créée, ainsi que de la façon dont le vticker est créé, je ne suis pas vraiment sûr de la façon de le faire.Comment appeler cette fonction dans un plugin jquery?
Je crée mon vTicker comme ceci:
$('#ticker1').rssfeed(uRL).ajaxStop(function() {
$('#ticker1 div.rssBody').vTicker();
})
Et voici le code vTicker:
/*
* Tadas Juozapaitis ([email protected])
*/
(function($){
$.fn.vTicker = function(options) {
var defaults = {
speed: 700,
pause: 15000,
showItems: 3,
animation: '',
mousePause: true,
isPaused: false
};
var options = $.extend(defaults, options);
moveUp = function(obj2, height){
if(options.isPaused)
return;
var obj = obj2.children('ul');
var iframe = $('#iFrame2');
first = obj.children('li:first').clone(true);
second = obj.children('li:odd:first').clone(true);
iframe.attr('src', (second.children('h4').children('a').attr("href")));
obj.animate({top: '-=' + height + 'px'}, options.speed, function() {
$(this).children('li:first').remove();
$(this).css('top', '0px');
});
if(options.animation == 'fade')
{
obj.children('li:first').fadeOut(options.speed);
obj.children('li:last').hide().fadeIn(options.speed);
}
first.appendTo(obj);
};
return this.each(function() {
var obj = $(this);
var maxHeight = 0;
obj.css({overflow: 'hidden', position: 'relative'})
.children('ul').css({position: 'absolute', margin: 0, padding: 0})
.children('li').css({margin: 0, padding: 0});
obj.children('ul').children('li').each(function(){
if($(this).height() > maxHeight)
{
maxHeight = $(this).height();
}
});
obj.children('ul').children('li').each(function(){
$(this).height(maxHeight);
});
obj.height(maxHeight * options.showItems);
var interval = setInterval(function(){ moveUp(obj, maxHeight); }, options.pause);
if(options.mousePause)
{
obj.bind("mouseenter",function(){
options.isPaused = true;
}).bind("mouseleave",function(){
options.isPaused = false;
});
}
});
};
})(jQuery);
Merci pour la lecture.
La ligne var-ticker = $ ('# ticker1 div.rssBody'). VTicker(); - juste assigner la variable Ticker, ou est-ce que c'est à utiliser à la place du code de création existant que j'ai en haut? Merci de votre aide. – ben
Ne vous inquiétez pas, je l'ai fonctionné. Merci beaucoup pour le code, je l'apprécie vraiment. – ben
@ben: Vous devez appeler vTicker() seulement ** une fois ** pour le créer. Si vous ne pouvez pas l'assigner à une variable lorsque vous la créez, vous pouvez simplement appeler '$ ('# ticker1 div.rssBody'). VTickerMoveUp();' pour faire le truc manuel de scrollie. –