どのようにフェードアウト配列要素をフェードインできますか?私は、JavaScriptで3つの要素を持つ次の配列を持っていますし、数秒遅れて1つずつxor Outでそれらをフェードしたいと思います。配列要素をフェードイン/アウト
textlist = new Array("news1", "news2","news3");
更新:配列項目は、これらのウェブサイト上で表示される実際のテキストは、IDがありません。
どのようにフェードアウト配列要素をフェードインできますか?私は、JavaScriptで3つの要素を持つ次の配列を持っていますし、数秒遅れて1つずつxor Outでそれらをフェードしたいと思います。配列要素をフェードイン/アウト
textlist = new Array("news1", "news2","news3");
更新:配列項目は、これらのウェブサイト上で表示される実際のテキストは、IDがありません。
を試してみてください。したがって、あなたのページのどこかに、たとえば<div id='newsPanel'/>
という要素で表示する必要があります。 あなたは試みることがあります。
var listTicker = function(options) {
var defaults = {
list: [],
startIndex:0,
interval: 3 * 1000,
}
var options = $.extend(defaults, options);
var listTickerInner = function(index) {
if (options.list.length == 0) return;
if (!index || index < 0 || index > options.list.length) index = 0;
var value= options.list[index];
options.trickerPanel.fadeOut(function() {
$(this).html(value).fadeIn();
});
var nextIndex = (index + 1) % options.list.length;
setTimeout(function() {
listTickerInner(nextIndex);
}, options.interval);
};
listTickerInner(options.startIndex);
}
var textlist = new Array("news1", "news2", "news3");
$(function() {
listTicker({
list: textlist ,
startIndex:0,
trickerPanel: $('#newsPanel'),
interval: 3 * 1000,
});
});
はjsfiddleでこれを試してみてください。
これは完璧に動作し、すぐにテストします。 – user1263981
'newsPanel'要素に 'width'& 'height'が固定されていないか、またはインライン()要素で、テキストの内容が次のようなものである場合、 'newsPanel'の周囲要素の位置が影響を受ける可能性があります。異なるサイズ。 – Kibria
これはIE 8のためですし、IE7では大丈夫です。 – user1263981
文字列は要素のIDである場合:
textlist = ["news1", "news2","news3"];
$.each(textlist, function(index, value){
$('#' + value).delay(1000 * index).fadeIn();
});
更新:
O.K.
textlist = ["News 1", "News 2", "News 3"];
$.each(textlist, function(index, value) {
$(':contains("' + value + '")').delay(1000 * index).fadeIn();
});
繰り返し処理する配列がスニペットから抜けています – pomeh
配列要素はIDではありません。実際のテキストはウェブサイト – user1263981
@pomehに現れます。その迷惑なエラーを修正しました。ありがとう! – gdoron
私はこれらの値は、要素のIDです推測:あなたは:contains
セレクターを使用できるように、配列内の要素がid
のが、フリーテキストではないことを更新しました。あなたは配列項目がテキストであると述べている場合は、以下のようなもの、
function fadeInOut(textlist) {
$('#' + textlist.splice(0, 1)[0]).fadeIn(1000, function() {
$(this).fadeOut(1000, function() {
fadeInOut(textlist);
});
});
}
配列要素はIDではなく、実際のテキストはウェブサイトに表示されます。私はBBCのようなニュースティッカーを作成しようとしています。 – user1263981
HTML:
<div id="container"></div>
Javascriptを:
var textlist=new Array("news1", "news2","news3");
var timer;
function textFade(index){
$("#container").fadeOut(200).html(text).fadeIn(200);
timer = setTimeout(function() {
textFade(text);
},3000);
}
$(document).ready(function() {
textFade(0);
});
それは動作しませんか? – user1263981
@ user1263981、私はコードを編集しました、私は以前に提供された誤ったコードについては残念です。 – KBN
私はあなたのコードを試しましたが、退色していません。 http://jsfiddle.net/Lsy77/2/ – user1263981
... "の文字列をフェージング" –
@RobWを定義します。彼が望むのはおそらく[this](http://stackoverflow.com/a/10353672/601179)です。 – gdoron
@RobW。私は間違っていた...それは "それは私のためにすべての"質問のようなものです。** - 1 ** – gdoron