#javascript
#javascript
Вопрос:
У меня есть вопрос о запуске функции Javascript, если страница загружена, при прокрутке и изменении размера.
Я создал функцию на Javascript и буду использовать ее одним простым вызовом, например
<script type="text/javascript">
dataView('.result');
</script>
Чего я не хочу
<script type="text/javascript">
window.addEventListener("scroll", function(){
dataView('.result');
});
window.addEventListener("onload", function(){
dataView('.result');
});
window.addEventListener("resize", function(){
dataView('.result');
});
</script>
Какое хорошее решение для программирования функции с этими параметрами?
Комментарии:
1. Вам нужно будет вызвать эти команды. Единственное место для оптимизации, которое я вижу (помимо использования, например, jQuery), — это сделать
'.result'
параметр динамическим.2.
window.addEventListener("onload"
<— почему там «включено»?
Ответ №1:
Вам придется связать все события отдельно. Вы можете сделать это массивом.
function dView(){
dataView('.result');
}
["load", "resize", "scroll"].forEach(function (evt) {
window.addEventListener(evt, dView);
});
Ответ №2:
Создайте функцию внутри функции и вызовите эту функцию в обработчиках событий. Вызовите основную функцию на страницах, которые вы хотите.
Например:
<script type="text/javascript">
function dataview(){
window.addEventListener("load", function(){
thedata();
});
window.addEventListener("scroll", function(){
thedata();
});
window.addEventListener("resize", function(){
thedata();
});
function thedata(){
alert('For example');
}
}
</script>
Вызовите функцию на страницах
<script type="text/javascript">
dataview();
</script>