次の方法を探しています。
<div>
をページに追加すると、ajaxコールバックが何らかの値を返します。 <div>
にはajax呼び出しからの値が入力され、<div>
は別の<div>
の前に追加されます。これはテーブル列として機能します。
ページに何か新しいものがあることをユーザーに示すために、ユーザーの注意を引きたいと思います。<div>
を点滅させます。表示/非表示ではなく、しばらくの間、たとえば5秒間ハイライト/ハイライト解除します。
私は点滅プラグインを見てきましたが、私が見ることができる限り、それは要素の表示/非表示のみを行います。
ところで、ソリューションはクロスブラウザでなければなりません。はい、残念ながらIEが含まれています。 IEで動作させるにはおそらく少しハックする必要がありますが、全体的には動作する必要があります。
jQuery UI Highlight Effectはあなたが探しているものです。
$("div").click(function () {
$(this).effect("highlight", {}, 3000);
});
ドキュメントとデモを見つけることができます here
編集
脈動効果の方が適切かもしれません。 こちら をご覧ください。
#2を編集
不透明度を調整するには、次のようにします。
$("div").click(function() {
// do fading 3 times
for(i=0;i<3;i++) {
$(this).fadeTo('slow', 0.5).fadeTo('slow', 1.0);
}
});
そのため、不透明度が50%を下回ることはありません。
http://jqueryui.com/demos/effect/ をご覧ください。それはあなたが望むことを正確に行うパルセートという名前の効果があります。
$("#trigger").change(function() {$("#div_you_want_to_blink").effect("pulsate");});
これは、setInterval
およびfadeTo
を使用する、私が作成したカスタム点滅効果です。
HTML-
<div id="box">Box</div>
JS-
setInterval(function(){blink()}, 1000);
function blink() {
$("#box").fadeTo(100, 0.1).fadeTo(200, 1.0);
}
できるだけシンプル。
まだJquery UIライブラリを使用しておらず、効果を模倣したい場合は、非常に簡単です
$('#blinkElement').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100);
また、数値をいじって、より高速または低速の数値を取得して、設計に適合させることもできます。
これはグローバルjquery関数でもあるため、サイト全体で同じ効果を使用できます。また、このコードをforループに入れた場合、1ミリオンのパルスを使用できるため、デフォルトの6またはデフォルトの大きさに制限されないことに注意してください。
編集:これをグローバルjQuery関数として追加
$.fn.Blink = function (interval = 100, iterate = 1) {
for (i = 1; i <= iterate; i++)
$(this).fadeOut(interval).fadeIn(interval);
}
以下を使用して、サイトから任意の要素を簡単に点滅させます
$('#myElement').Blink(); // Will Blink once
$('#myElement').Blink(500); // Will Blink once, but slowly
$('#myElement').Blink(100, 50); // Will Blink 50 times once
JQuery UI全体を含めたくない場合は、代わりに jQuery.Pulse.js を使用できます。
不透明度を変更するループアニメーションを作成するには、次の操作を行います。
$('#target').Pulse({opacity: 0.8}, {duration : 100, pulses : 5});
軽量(1 kb未満)で、あらゆる種類のアニメーションをループできます。
追加のライブラリを必要としないjQueryベースのソリューションは見当たらないため、fadeIn/fadeOutを使用するソリューションよりも少し柔軟なシンプルなソリューションを紹介します。
$.fn.blink = function (count) {
var $this = $(this);
count = count - 1 || 0;
$this.animate({opacity: .25}, 100, function () {
$this.animate({opacity: 1}, 100, function () {
if (count > 0) {
$this.blink(count);
}
});
});
};
このように使用します
$('#element').blink(3); // 3 Times.
JQuery UIを調べてください。具体的には、ハイライト効果:
次のように異なる定義済みの色を使用します。
theme = {
whateverFlashColor: '#ffffaa',
whateverElseFlashColor: '#bbffaa',
whateverElseThenFlashColor: '#ffffff',
};
このように使用します
$('#element').effect("highlight", {color:theme.whateverFlashColor}, 1000);
簡単:)
探しているものが正確に見つからなかったので、できる限り基本的なものを書きました。ハイライトされたクラスは、単に背景色にすることができます。
var blinking = false; // global scope
function start_blinking() {
blinking = true;
blink();
}
function stop_blinking() {
blinking = false;
}
function blink(x=0) {
$("#element").removeClass("highlighted"); // default to not highlighted to account for the extra iteration after stopping
if (blinking) {
if (x%2 == 0) $("#element").addClass("highlighted"); // highlight on even numbers of x
setTimeout(function(){blink(++x)},500); // increment x and recurse
}
}
私が与えた同様の答えを使用できると思います。ここで見つけることができます... https://stackoverflow.com/a/19083993/2063096
注:このソリューションではjQuery UIを使用していません。コードを実装する前に好みに合わせて操作できるフィドルもあります。
JQuery UIのオーバーヘッドが必要ない場合は、.animate()
を使用して再帰的なソリューションを最近作成しました。必要に応じて遅延と色をカスタマイズできます。
function doBlink(id, count) {
$(id).animate({ backgroundColor: "#fee3ea" }, {
duration: 100,
complete: function() {
// reset
$(id).delay(100).animate({ backgroundColor: "#ffffff" }, {
duration: 100,
complete: function() {
// maybe call next round
if(count > 1) {
doBlink(id, --count);
}
}
});
}
});
}
もちろん、.animate()
を使用するには、backgroundColor
を取得するためのカラープラグインが必要です。 https://github.com/jquery/jquery-color
そして、コンテキストのビットを提供するために、これは私がそれを呼んだ方法です。ページをターゲットdivにスクロールしてから点滅させる必要がありました。
$(window).load(function(){
$('html,body').animate({
scrollTop: $(scrollToId).offset().top - 50
}, {
duration: 400,
complete: function() { doBlink(scrollToId, 5); }
});
});
elem.fadeOut(10).fadeIn(10);を与えるだけです。
Jquery.blink.jsプラグインで試してください:
https://github.com/webarthur/jquery-blink
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="/path/to/jquery.blink.js"></script>
<script>
jQuery('span').blink({color:'white'}, {color:'black'}, 50);
</script>
#楽しい!
<script>
$(document).ready(function(){
var count = 0;
do {
$('#toFlash').fadeOut(500).fadeIn(500);
count++;
} while(count < 10);/*set how many time you want it to flash*/
});
</script
チェックアウト-
<input type="button" id="btnclick" value="click" />
var intervalA;
var intervalB;
$(document).ready(function () {
$('#btnclick').click(function () {
blinkFont();
setTimeout(function () {
clearInterval(intervalA);
clearInterval(intervalB);
}, 5000);
});
});
function blinkFont() {
document.getElementById("blink").style.color = "red"
document.getElementById("blink").style.background = "black"
intervalA = setTimeout("blinkFont()", 500);
}
function setblinkFont() {
document.getElementById("blink").style.color = "black"
document.getElementById("blink").style.background = "red"
intervalB = setTimeout("blinkFont()", 500);
}
</script>
<div id="blink" class="live-chat">
<span>This is blinking text and background</span>
</div>