そのスライドからデータを取得する画像と変数セットを操作するスライダーがあります。そのデータは、特定の機能を作成するために私によって操作されます。
私は現在、ページの本体に移動する一連の画像(スライダー)を持っています。ページの右側に常に表示されるソーシャルバーがあります。
私がやろうとしているのは、スライダーによって提供されるコールバック関数を使用してスライドが変更されるたびに、データを取得して URL とソーシャル ボタン内のテキストを変更することです。これが私のコードです:
var $mainContainer = $('div#container');
var $tmbContainer = $('.rsThumbsContainer');
var $tmbContainerT = $('.rsThumbsContainer').find('.rsThumb');
var $slider = $('#gallery-t-group');
var $body = $('body');
var $close = $('<div id="close"><p class="icon-close"></p></div>');
$tmbContainerT.each(function () {
//console.log(slider.currSlide);
$(this).on('click', function(event) {
$('body').addClass('rsSlider-active');
sliderR();
var $gallery = $('#gallery-t-group').find('.portfolio');
$gallery.each(function () {
var src = this.href;
var content = $(this).find('.perma_link').val();
var textContent = $(this).find('img').attr('alt'); // same as $(this.element).attr("title"); before you modify it using this.title +=
var image = $(this).find('img').attr('src'); // this is the URL of the thumbnail
var imageAlt = $(this).find('img').attr('alt');
var $tumbl = $(this).find('a.tumbl-button');
$tumbl.attr("href","http://www.tumblr.com/share/photo?source="+ encodeURIComponent(image) +"&caption="+ encodeURIComponent(textContent) +"&clickthru="+ encodeURIComponent(content) +"");
slider.ev.on('rsAfterSlideChange', function(event) {
$('#twit').html('<div id="twitter" data-url="'+content+'" data-text="'+textContent+'"></div>');
$('#twitter').attr("data-url",content);
$('#twitter').attr("data-text",textContent);
$('#twitter').sharrre({
share: {
twitter: true
},
template: '<a class="box" href="#"><div class="count" href="#">{total}</div><div class="share"><span></span>Tweet</div></a>',
enableHover: false,
enableTracking: true,
buttons: { twitter: {via: '_JulienH'}},
click: function(api, options){
api.simulateClick();
api.openPopup('twitter');
}
});
});
});
slider.updateSliderSize(true);
});
});
これは、すべてのソーシャル ボタンが追加される場所です。
<div class="socialbar-vertical">
<div id="socio-box">
<div id="twit"></div>
<div id="facebook" data-url="http://sharrre.com/" data-text="Make your sharing widget with Sharrre (jQuery Plugin)"></div>
<div id="googleplus" data-url="http://sharrre.com/" data-text="Make your sharing widget with Sharrre (jQuery Plugin)"></div>
</div>
</div>
現在、divのコンテンツを変更するのはこれだけですが、常に最初にクリックされたdivを使用します:
$('#twit').html('<div id="twitter" data-url="'+content+'" data-text="'+textContent+'"></div>');
私がやりたいことは、スライドが変更されるたびに、その div の属性を変更し続けることです。
ここで何か完全に間違っているのでしょうか、それともトリックを見逃していますか?