Web sitesinde çalışıyorum ve burada link dosyası: /// D: /fahim/HTML/menu/index.html. Menüyü kendi "X" düğmesine basarak kapatırsanız, ancak menünün dışına tıklayarak kapatmak istiyorum. Bu, ana sayfada kullanılan javascript.Heryerde bir menüyü kapatmak için tıklayın
<script>
var popupView = new popup();
document.querySelector('#btn_1').addEventListener('click', function() {
popupView.show(document.querySelector('#popup_1'));
});
document.querySelector('#btn_2').addEventListener('click', function() {
popupView.show(document.querySelector('#popup_2'), function() {
\t console.log('show do something');
});
});
document.querySelector('#btn_3').addEventListener('click', function() {
popupView.show(document.querySelector('#popup_3'), '', function() {
\t console.log('CLOSE');
});
});
</script>
(function() {
var popup = function() {
function hide(dom, dosomething) {
if (!dom) {
console.error('hide function not set dom object');
return;
}
if (dosomething) {
dosomething();
}
dom.className += ' ' + 'popup_hide';
}
function show(dom, dosomethingShow, dosomethingClose) {
if (!dom) {
console.error('show function not set dom object');
return;
}
if (dosomethingShow) {
dosomethingShow();
}
var className = 'popup_hide',
reg = new RegExp('(^|\\b)' +
className.split(' ').join('|') +
'(\\b|$)', 'gi');
dom.className = dom.className.replace(reg, '').trim();
var nodes = dom.childNodes;
for (var i = nodes.length - 1; i >= 0; i--) {
if (nodes[i].className === 'pop_up_close') {
var close = function (e) {
if (dosomethingClose) {
dosomethingClose();
}
dom.className += ' ' + 'popup_hide';
nodes[i].removeEventListener('click', close);
};
nodes[i].addEventListener('click', close);
break;
}
}
}
this.show = show;
this.hide = hide;
};
window.popup = popup;
})();
yardım edin sunucuda popup_view.js dosyası olarak takılır koddur Bunların dışında ancak bunlardan olmayanlar
'$ (document) .sistem engellemek ('klik', HIDE_IT)' ve stop-olay-propogation! – Rayon
Javascript'te biraz zayıfım, lütfen nereye koyacağınızı söyler misiniz, yani bu kodu benim mevcut javascript'ime koyup koymalı mıyım yoksa onu ayrı ayrı koymak zorundayım? – fahim