ボタンにonClick機能を使用しています。私のボタンコードは次のようになります。
<a onClick="fadeNext('#myDIV1',500);">Button 1</a>
<a onClick="fadeNext('#myDIV2',500);">Button 2</a>
私のJS関数は次のようになります。
function fadeNext(selectedId, speed) {
var containerID = '#imageSwap';
var vis = ($(containerID + ' div:visible').length > 0) ? $(containerID + ' div:visible').eq(0) : $(containerID + ' div').eq(0);
var next = $(selectedId);
vis.fadeOut(speed);
next.fadeIn(speed);
}
これにより、コンテンツが正しくフェードし、正常に機能しますが、ビデオコンテンツ(Vimeo)は、表示されていない場合でも再生されます。このJSを試しましたが、まだ運がありません。
function fadeNext(selectedId, speed) {
var containerID = '#imageSwap';
var vis = ($(containerID + ' div:visible').length > 0) ? $(containerID + ' div:visible').eq(0) : $(containerID + ' div').eq(0);
var next = $(selectedId);
vis.fadeOut(speed, function() {
$(this).empty().show();
});
next.fadeIn(speed);
}
このJSを使用すると、コンテンツがフェードアウトしたり空になったりすることはなくなります。
私はJSの新人で、empty()コードを機能させるのに問題があります。これの主な理由は、私のDIVにビデオ(Vimeo)が含まれることです。ユーザーがクリックしてコンテンツを変更したときに、ビデオをアンロードして、ビデオ/サウンドが再生されないようにしたいのですが。
どんな助け/アドバイスもいただければ幸いです!