15.11.2015, 18:42
|
Интересующийся
|
|
Регистрация: 26.07.2015
Сообщений: 10
|
|
Обработчик window.onload блокирует window.onresize. Что делать?
Два обработчика конфликтуют. Когда их два, тогда onload блокирует другой, если без onload, тогда onresize работает нормально. И в onload и в onresize одна функция стоит. Вот код:
<script type="text/javascript">
var w = document.documentElement.clientHeight;
var f = 290;
var c = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
var d1 = document.getElementById('head').offsetHeight;
var d2 = document.getElementById('nav').offsetHeight;
var d3 = document.getElementById('foot').offsetHeight;
var g = c - d1 - d2 - d3 ;
function j() {
if (w > f) {
document.getElementById("con").style.height = g + 'px' ;
}
};
window.onload = j;
window.onresize = j;
</script>
Последний раз редактировалось Сергей5739, 15.11.2015 в 23:26.
|
|
15.11.2015, 20:48
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сергей5739,
а так?
window.onload = function() {
window.onresize = j;
j()
}
|
|
15.11.2015, 21:47
|
Интересующийся
|
|
Регистрация: 26.07.2015
Сообщений: 10
|
|
Сообщение от рони
|
Сергей5739,
а так?
window.onload = function() {
window.onresize = j;
j()
}
|
Спасибо, но не помогает.
|
|
15.11.2015, 21:51
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сергей5739,
почему у вас первые строки вне функции?
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
|
15.11.2015, 22:52
|
Интересующийся
|
|
Регистрация: 26.07.2015
Сообщений: 10
|
|
Сообщение от рони
|
Сергей5739,
почему у вас первые строки вне функции?
Пожалуйста, отформатируйте свой код!
Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]
О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
|
Я просто так код скопировал, так то он у меня вот в таком теге <script type="text/javascript"> </script>
Сам код находится в файле php. Сайт на движке друпал 7.
|
|
15.11.2015, 22:56
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сергей5739,
то есть не форматнуть никак ваше первое сообщение?
|
|
15.11.2015, 23:04
|
Интересующийся
|
|
Регистрация: 26.07.2015
Сообщений: 10
|
|
Сообщение от рони
|
Сергей5739,
то есть не форматнуть никак ваше первое сообщение?
|
Так я его сразу и исправил. Я просто написал, что так код скопировал, что ошибки в этом плане не было.
|
|
15.11.2015, 23:11
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сообщение от Сергей5739
|
Так я его сразу и исправил.
|
надо нажать кнопку
появится тег
а внутрь поместить ваш код
|
|
15.11.2015, 23:16
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сергей5739,
<script>
function j() {
var w = document.documentElement.clientHeight;
var f = 290;
var c = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
var d1 = document.getElementById('head').offsetHeight;
var d2 = document.getElementById('nav').offsetHeight;
var d3 = document.getElementById('foot').offsetHeight;
var g = c - d1 - d2 - d3;
if (w > f) {
document.getElementById("con").style.height = g + 'px';
}
};
window.onload = function() {
window.onresize = j;
j()
}
</script>
|
|
15.11.2015, 23:37
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,108
|
|
Сергей5739,
так работает? код из 9 поста
|
|
|
|