作成しているjqueryプラグインにエフェクトを適用する方法を見つけるのに問題があります。すでに機能していますが、それは私が本当に望んでいた方法ではないため、いくつかのガイダンスが必要です。
Jqueryプラグインは、画像をdivである小さな正方形に分割するため、コーナーからフェードイン効果を適用できます。これで、すべてのdivに同じCSSクラスがありますが、名前が異なり、名前は次の順序に従って付けられます。 divが表示される必要があります...問題は、たとえば名前3のすべてのdivを同時にフェードインさせる方法がないことです。これがコードです。
HTML
<!DOCTYPE html>
<html>
<head>
<link href="style.css" type="text/css" rel="stylesheet" />
<script src="jquery.js" type="text/javascript"></script>
<script src="separar.js" type="text/javascript"></script>
<title>AEMB Portales Web</title>
</head>
<body>
<div id="contenedor" style="width:800px; height:508px; position:relative; margin:0 auto;">
<a href="#"><img src="img/fma.jpg" /></a>
</div>
<script>
$(document).ready(function(){
$("#contenedor").separar(4);
});
</script>
</body>
</html>
JQUERYプラグイン
(function($){
$.fn.separar = function(cantidad){
var contenedor = $(this);
var slides = $(this).children();
var altoTotal = contenedor.height();
var lastId = 0;
separarslides(contenedor,slides[0]);
aparecer();
function separarslides(slider, hijo) {
var imagen = hijo.children[0];
$(hijo).hide();
var anchoSlide = Math.round(slider.width()/cantidad);
var altoSlide = Math.round(slider.height()/cantidad);
var id = 0;
var idFila = 1;
for(var j = 0; j < altoTotal; j+=altoSlide){
id = idFila;
for(var i = 0; i < cantidad; i++){
slider.append(
$('<div class="slice'+id+'" style="position:absolute;" name="'+id+'"><img src="'+ $(imagen).attr('src') +'" style="position:absolute; width:'+ slider.width() +'px; height:'+slider.height()+'px; display:block !important; top:'+ j*-1 +'px;; left:'+ i * anchoSlide*-1 +'px;" /></div>').css({
left:(anchoSlide*i)+'px',
top:j+'px',
width:anchoSlide+'px',
height:altoSlide+'px',
opacity:'0',
overflow:'hidden'
})
);
lastId = id;
id++;
if(i==3)
idFila++;
}
}
//slider.append($(alert(lastId))); //Para ver el numero final que tiene lastId
}
function aparecer(){
var slices = $('.slice', contenedor);
var time = 500;
for(i=1;i<=lastId;i++){
$(".slice"+i).fadeTo(time,1);
time+=650;
}
}
}
})(jQuery);
javascriptの最後の関数はdivの表示を担当しますが、その場合、divは異なるクラスを持っていますが、どうすればdivの名前でそれを作成できますか?