efekt jQuery "migające podświetlenie" na div?
Szukam sposobu, aby wykonać następujące czynności.
Dodaję <div>
do strony, a wywołanie zwrotne ajax zwraca jakąś wartość. <div>
jest wypełniany wartościami z wywołania ajax, a {[0] } jest następnie poprzedzany inną <div>
, która działa jako kolumna tabeli.
Chciałbym zwrócić uwagę użytkownika, aby pokazać mu, że na stronie jest coś nowego.
Chcę, aby <div>
mrugał, nie pokazywał / ukrywał, ale aby podświetlić / unhighlight przez jakiś czas, powiedzmy 5 sekund.
I patrzyłem na wtyczkę blink, ale z tego co widzę to tylko pokazuje / ukrywa się na elemencie.
Btw, rozwiązaniem musi być cross-browser, i tak, IE niestety zawarte. Prawdopodobnie będę musiał trochę zhakować, aby działał w IE, ale ogólnie musi działać.
14 answers
JQuery UI efekt podświetlenia jest tym, czego szukasz.
$("div").click(function () {
$(this).effect("highlight", {}, 3000);
});
Dokumentacja i demo można znaleźć tutaj
Edit
Może efekt pulsacji jest bardziej odpowiedni, zobacz tutaj
Edytuj #2
Aby dostosować krycie, możesz to zrobić:
$("div").click(function() {
// do fading 3 times
for(i=0;i<3;i++) {
$(this).fadeTo('slow', 0.5).fadeTo('slow', 1.0);
}
});
Więc nie będzie niższa niż 50% krycia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-04-02 14:15:15
Spójrz na http://jqueryui.com/demos/effect / . ma efekt o nazwie pulsate, który zrobi dokładnie to, co chcesz.
$("#trigger").change(function() {$("#div_you_want_to_blink").effect("pulsate");});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-05 17:30:54
Jest to Niestandardowy efekt mrugnięcia, który stworzyłem, który wykorzystuje setInterval
i fadeTo
HTML-
<div id="box">Box</div>
JS -
setInterval(function(){blink()}, 1000);
function blink() {
$("#box").fadeTo(100, 0.1).fadeTo(200, 1.0);
}
Tak proste, jak się da.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-12 05:38:12
Dla tych, którzy nie chcą dołączać całego interfejsu jQuery, możesz użyć jQuery.puls.JS zamiast.
Aby mieć zapętloną animację zmiany krycia, wykonaj następujące czynności:
$('#target').pulse({opacity: 0.8}, {duration : 100, pulses : 5});
Jest lekki (mniej niż 1KB) i pozwala na zapętlenie dowolnych animacji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-10-08 06:52:19
Jeśli nie używasz jeszcze biblioteki jQuery UI i chcesz naśladować efekt, to co możesz zrobić jest bardzo proste
$('#blinkElement').fadeIn(100).fadeOut(100).fadeIn(100).fadeOut(100);
Możesz również bawić się liczbami, aby uzyskać szybszy lub wolniejszy, aby lepiej pasował do twojego projektu.
Może to być również globalna funkcja jquery, dzięki czemu można użyć tego samego efektu w całej witrynie. Zauważ również, że jeśli umieścisz ten kod w pętli for, możesz mieć 1 milion impulsów, więc nie jesteś ograniczony do domyślnej 6 lub ile domyślnej jest.
Edytuj: Dodawanie tego jako globalnej funkcji jQuery
$.fn.Blink = function (interval = 100, iterate = 1) {
for (i = 1; i <= iterate; i++)
$(this).fadeOut(interval).fadeIn(interval);
}
Mignij dowolny element z witryny za pomocą następującego
$('#myElement').Blink(); // Will Blink once
$('#myElement').Blink(500); // Will Blink once, but slowly
$('#myElement').Blink(100, 50); // Will Blink 50 times once
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-24 09:09:13
Możesz zajrzeć do jQuery UI. W szczególności efekt podświetlenia:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-05 17:30:32
Ponieważ nie widzę żadnych rozwiązań opartych na jQuery, które nie wymagają dodatkowych bibliotek, tutaj jest prosty, który jest nieco bardziej elastyczny niż te, które używają 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);
}
});
});
};
Użyj go w ten sposób
$('#element').blink(3); // 3 Times.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-20 08:04:22
Jeśli nie chcesz narzutu jQuery UI, napisałem niedawno rozwiązanie rekurencyjne używając .animate()
. Możesz dostosować opóźnienia i kolory zgodnie z potrzebami.
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);
}
}
});
}
});
}
Oczywiście będziesz potrzebował wtyczki color, aby uzyskać backgroundColor
do pracy z .animate()
.
https://github.com/jquery/jquery-color
I aby dać trochę kontekstu, tak to nazwałem. Musiałem przewijać stronę do docelowego div, a następnie migać.
$(window).load(function(){
$('html,body').animate({
scrollTop: $(scrollToId).offset().top - 50
}, {
duration: 400,
complete: function() { doBlink(scrollToId, 5); }
});
});
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-09 20:44:48
Myślę, że przydałaby ci się podobna odpowiedź, którą dałem. Znajdziesz go tutaj... https://stackoverflow.com/a/19083993/2063096
- powinien działać na wszystkich przeglądarkach, ponieważ tylko Javascript i jQuery.
Uwaga: To rozwiązanie nie używa jQuery UI, istnieje również fiddle, dzięki czemu można bawić się według własnych upodobań przed zaimplementowaniem go w kodzie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 10:31:26
Używam różnych predefiniowanych kolorów jak TAK:
theme = {
whateverFlashColor: '#ffffaa',
whateverElseFlashColor: '#bbffaa',
whateverElseThenFlashColor: '#ffffff',
};
I używaj ich w ten sposób
$('#element').effect("highlight", {color:theme.whateverFlashColor}, 1000);
Easy:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-30 04:03:28
Po prostu daj elem.fadeOut (10)fadeIn (10);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-02-06 08:48:58
Spróbuj z jquery.mrugnij.wtyczka 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>
#enjoy!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-05 01:58:01
<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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-23 03:53:58
Sprawdź to-
<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>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-28 08:12:47