-1
我試圖做一個馬賽克效果,以我的傳送帶馬賽克過渡效果
這樣的例子:
http://burnmind.com/demos/mosaic/不喜歡這個100%我希望有下一個控制按鈕和以前並有圖片在HTML標籤
,但它不工作,我想幫助
這是我的工作Jsfiddle
我有做只爲上一個按鈕下一個按鈕,這將是同樣的一件事,我會接替位置與++ position--
jQuery代碼:
$(function(){
var $carroussel = $('#carrousel');
var $carrousselhover=$('#carrousel .hover');
$carroussel.append('<div class="controls"> <span class="Previous"> <img src="http://s27.postimg.org/ip6n42rn3/previous.png"> </span> <span class="Next"> <img src="http://s27.postimg.org/6yspmoyun/next.png"> </span> </div>');
var $nbrimage = $('#carrousel img').length-1 ;
var $img = $('#carrousel img');
var width = 700;
var height = 200;
var horizontal_pieces = 8;
var vertical_pieces = 6;
total_pieces = horizontal_pieces * vertical_pieces;
var box_width = width/horizontal_pieces;
var box_height = height/vertical_pieces;
var vertical_position = 0;
elements = new Array();
var count ;
count=0;
var $position;
$position=0;
$carroussel.width(width).height(height);
var $curentImage=$img.eq($position); // First image
var listimage= $('#carrousel ul li');
var tempEl;
$('.controls .Next').click(function(){
if($position<$nbrimage)
{
for (i=0; i<total_pieces; i++)
{
$curentImage= $img.eq($position);
tempEl = $('<span class="hover" id="hover-' + i + '"></span>');
var horizontal_position = (i % horizontal_pieces) * box_width;
if(i > 0 && i % horizontal_pieces == 0)
{
vertical_position += box_height;
}
tempEl.css({'background-position': '-' + horizontal_position + 'px -' + vertical_position + 'px',
'background-image': 'url('+$img.eq($position).attr('src')+')'});
$img.eq($position).remove();
listimage.eq($position).append(tempEl);
elements.push(tempEl);
}
$position++;
$carroussel.css({'background-image': 'url('+$img.eq($position).attr('src')+')'});
$('#carrousel .hover').width(box_width).height(box_height);
setInterval(toggleDisplay,10000);
}
else
{
$position=$nbrimage;
}
function toggleDisplay()
{
if(count>=total_pieces)
{
clearInterval(0);
}
else
{
var tempEl = elements[count];
var opacity = tempEl.css('opacity');
if(opacity == 0)
{
tempEl.animate({ opacity: 1 })
}
else
{
tempEl.animate({ opacity: 0 })
}
count = (count + 1) ;
}
}
});
});
CSS代碼:
#carrousel{
position:relative;
margin:0 auto;
z-index:2;
}
#carrousel ul li{
position:absolute;
top:0px;
left:0px;
list-style-type: none;
}
#carrousel .hover{
}
.controls
{
position:relative;
height:200px;
width:700px;
margin:0 auto;
z-index:1;
}
.controls .Next {
position: absolute;
right: 4px;
top: 30px;
}
.controls .Previous {
position: absolute;
left:4px;
top: 30px;
}
.controls span:hover
{
cursor:pointer;
}
演示都沒有任何按鈕來演示幻燈片改變到其他的背景,因此它可能是最好直接更改CSS背景當您單擊向前或向後。即頂部或底部的圖像。我設法做這個沒有按鈕的基本演示 - http://jsfiddle.net/7nr1aqdw/ - 讓我看看我是否可以添加按鈕並動態改變圖像 – Tasos 2014-10-01 01:36:26
是的我知道沒有任何演示有任何按鈕只是爲了解釋你我想要什麼。但與按鈕下一個和上一個和我的HTML與標籤圖像不喜歡演示,並且我已經嘗試做,但不透明度總是有0,如果你檢查瀏覽器中的元素 – user3778154 2014-10-01 01:50:54
嗯,我設法改變圖像,它的基本演示,不知道你會有多少圖像,但它的開始。 - http://jsfiddle.net/vzqod1zL/ – Tasos 2014-10-01 01:55:03