У меня есть функция, которая вызывает #notify
div.
Когда пользователь нажимает на этот div, вызывается функция. Затем, когда пользователь снова нажимает на тот же элемент div, функция скрывается (с помощью переключателя).
Мне было интересно, как я мог бы использовать эту же функцию, но вместо этого иметь элемент off-click, поэтому, если пользователь не нажимает, div скрыт.
короче
когда пользователь нажимает на div (маленький блок), вызывается функция (под маленьким блоком появляется большой блок), единственный способ удалить большой блок - это снова нажать на маленький блок. Я хочу, чтобы большая коробка скрывалась, когда пользователь щелкает где-то за пределами большой коробки.
<script>
$(document).ready(function() {
var notify = $("#notify");
var notifyLink = $("#notify_link");
var result = $("#result");
var loader = $('#loader');
var count = $("#count");
notify.hide();
notify.click(function(event) {
// Handle the click on the notify div so the document click doesn't close it
event.stopPropagation();
});
notifyLink.click(
function () { notify.toggle(notify.css('display') == 'none');
loader.html('<?php echo elgg_view('ajax/loader',array('slashes' => true)); ?>');
result.load("<?php echo $vars['url']; ?>mod/notifications/ajax/data.php",function(){
loader.empty(); // remove the loading gif
});
});
notifyLink.toggle(
function () {
$(this).addClass("selected");
},
function () {
$(this).removeClass("selected");
} );
count.load("<?php echo $vars['url']; ?>mod/notifications/ajax/livenum.php");
var refreshId = setInterval(function() {
count.load("<?php echo $vars['url']; ?>mod/notifications/ajax/livenum.php");
}, 2500);
$.ajaxSetup({ cache: false });
});
</script>
<a href="#" id="notify_link"> </a><span id="count"></span>
<div id="notify" style="display:none;">
<h4>Notifications</h4>
<div id="loader"></div>
<div id="result" style="width:100%; height:100%;"></div>
<div class="seeall"><a href="<?php echo $vars['url']; ?>mod/notifications/all.php">See All Notifications</a></div>
</div>