Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2013, 02:50
Новичок на форуме
Отправить личное сообщение для bic3000 Посмотреть профиль Найти все сообщения от bic3000
 
Регистрация: 05.12.2013
Сообщений: 2

Пофиксить скрипт под IE 7
Есть скрипт, но он не работает в IE 7, можете что то посоветовать?
это от слайдера на medentmebel.ru этом сайте.
<script language="javascript">
function append(id, tag) {
  var node = document.getElementById(id),
  first = node.lastChild,
  newNode = document.createElement(tag);
  node.insertAfter(newNode, first);
  return newNode;
}

Array.prototype.count = function () {
return this.length;
}
window.tdiff = []; fred = function(a,b){return a-b;};
window.document.onload = function(e){ 
    console.log("document.onload", e, Date.now() ,window.tdiff,  
    (window.tdiff[0] = Date.now()) && window.tdiff.reduce(fred) ); 
    begin();
}
window.onload = function(e){ 
    console.log("window.onload", e, Date.now() ,window.tdiff, 
    (window.tdiff[1] = Date.now()) && window.tdiff.reduce(fred) ); 
    begin();
}
var ticks = 0;
var speed = 25;
function slide() {
var slide = document.getElementById('slide');
var skate = document.getElementById('skate');
var a = skate.getElementsByTagName(a);
ticks++;
if(ticks>4700) {
ticks = 0;
skate.style.left = "-"+ticks+"px";
}
skate.style.left = "-"+ticks+"px";
}
var t = setInterval(function() { slide(); },(1000/speed));
function begin() {
var leftrightslide=new Array();
{::LEFT_RIGHT_SLIDE::}

var c = leftrightslide.count();
var i = 0;
while(i<c) {
document.getElementById('skate').innerHTML = document.getElementById('skate').innerHTML + leftrightslide[i];
i++;
}
}
</script>

спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2013, 03:58
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

методов Date.now, Array.prototype.reduce, console.log и Node.insertBefore нет в IE7, а вместо e должно быть e = e || window.e (хотя вы вроде не используете)

Что это за бред?
window.document.onload = function(e)
window.onload = function(e){


Что такое? {::LEFT_RIGHT_SLIDE::}
Ответить с цитированием
  #3 (permalink)  
Старый 05.12.2013, 12:33
Новичок на форуме
Отправить личное сообщение для bic3000 Посмотреть профиль Найти все сообщения от bic3000
 
Регистрация: 05.12.2013
Сообщений: 2

Сообщение от monolithed Посмотреть сообщение
методов Date.now, Array.prototype.reduce, console.log и Node.insertBefore нет в IE7, а вместо e должно быть e = e || window.e (хотя вы вроде не используете)

Что это за бред?
window.document.onload = function(e)
window.onload = function(e){


Что такое? {::LEFT_RIGHT_SLIDE::}
Походу скрипт добавления из папки картинок
<?php
function loadImages($folder) {
    $dh = opendir($folder);
    $images = array();
    if($dh) {
        while($filename = readdir($dh)) {
            if($filename != '.' && $filename != '..') {
                $images[] = $filename;
            }
        }
    }
	closedir($dh);
    return $images;
}

$images = loadImages($_SERVER['DOCUMENT_ROOT'].'/img/krutilka-big');
$fairyTale = '';
if($images) {
	foreach($images as $i=>$image) {
		$href = '/img/krutilka-big/'.$image;
		$src = '/img/krutilka-small/'.$image;
		$fairyTale .= "leftrightslide[".$i."]='<a rel=\"lightbox[roadtrip]\" href=\"$href\"><img rel=\"roadtrip\" src=\"$src\" border=0 /></a>';\n";
	}
}
$content = str_replace('{::LEFT_RIGHT_SLIDE::}', $fairyTale, $content);
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2013, 12:49
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Еще восхищение вызывают вот эти отрывки:
Сообщение от bic3000
Array.prototype.count = function () {
return this.length;
}
Сообщение от bic3000
first = node.lastChild
Сообщение от bic3000
node.insertAfter(newNode, first);
monolithed,
Ты уверен насчет Date.now() и Node.insertBefore() ? IE10 в режиме IE7 имеет эти методы (а вот новые методы Array есть только в IE9+)
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2013, 12:59
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от danik.js
Ты уверен насчет Date.now() и Node.insertBefore()
Да уверен, т.к. писал поддержку для них несколько лет назад.

И нет Node.insertBefore, а Node.insertAfter!

Последний раз редактировалось monolithed, 05.12.2013 в 13:04.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает скрипт под оперой Андрей_ Opera, Safari и др. 5 21.08.2012 16:36
не работает скрипт под мозилой kent666 Events/DOM/Window 2 10.10.2011 17:54
скрипт на сайт под Джумлой, не работает в FF matysse Элементы интерфейса 1 11.10.2010 21:14
Скрипт под форумы vB UndeadDragon Opera, Safari и др. 0 19.09.2009 18:22
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05