Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2012, 15:24
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

ка настроить под ие
данный скрипт не работает в ие 8 и ниже почему?
из className?
function sliceText(){
    var lengthArray,endLen,resultText,findEndSymols,fullLink;
	var AllClass=document.getElementsByClassName("text");

    for(var i=0;i<AllClass.length;i++)
    {
		
        lengthArray=AllClass[i].innerHTML.length;//длина текстовой строки
 
    if(lengthArray>200){
		//-------------------------------------
	
    fullLink=document.createElement('a');
    //создание ссылки на полный текст
    fullLink.setAttribute("href"," ");
    fullLink.setAttribute("onclick","Fulltext(this);return false;");
    fullLink.innerHTML="Смотреть полностью...";
		//-------------------------------------
        /*выводится только 30% текста */
        endLen=(lengthArray/100)*30; 
        //--------------------
        findEndSymols=AllClass[i].innerHTML.slice(endLen);
        findEndSymols=findEndSymols.indexOf(" ");
        endLen=endLen+findEndSymols;//вырезать начиная с пробела
        //-------------------- 
        resultText=AllClass[i].innerHTML.slice(0,endLen)+"<span class='notVisible'>"+AllClass[i].innerHTML.slice(endLen)+"</span>";
		AllClass[i].innerHTML=resultText+"  ";
        AllClass[i].appendChild(fullLink);
         
        }
     
     
    }
}

function Fulltext(obj){ 
if(obj.parentNode.childNodes[(obj.parentNode.childNodes.length-3)].nodeType == 1){
	obj.parentNode.childNodes[(obj.parentNode.childNodes.length-3)].style.display="inline";
	obj.parentNode.removeChild(obj);
}
else alert("Проблема при обработке span");
}
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2012, 15:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

getElementsByClassName не поддерживается
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2012, 15:47
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от Octane Посмотреть сообщение
getElementsByClassName не поддерживается
я знаю.
я не наншел чем можно заменить для ие
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2012, 15:50
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

https://www.google.ru/search?q=getEl...implementation
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2012, 16:16
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

эт конечно хорошо но за 6 страниц не одной ссылки на ру сайт.
у меня не на столько хорошие знания английского...
Ответить с цитированием
  #6 (permalink)  
Старый 21.04.2012, 16:29
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

document.getElementsByClassName = document.getElementsByClassName || function( className ) {

    var atElem = this && this.nodeType && this || document,
        elems = atElem.getElementsByTagName( '*' ),
        result = [], elem;

    for( var i = 0; elem = elems[ i++ ]; ) {

        if ( elem.className && ( (" " + elem.className + " ").indexOf( " " + className + " " ) >= 0 ) ) {
            result[ result.length ] = elem;
        }

    }

    return result;
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #7 (permalink)  
Старый 21.04.2012, 16:49
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

спасибо
Ответить с цитированием
  #8 (permalink)  
Старый 21.04.2012, 18:44
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

а что скажите насчет такого кода?
function browserIE(FindClass){
	//ie6 test
	var allSpan=document.getElementsByTagName('*');
	var arrElements=[],g=0;
	for(var i=0;i<allSpan.length;i++){
		
		if(allSpan[i].className==FindClass){
		arrElements[g]=allSpan[i];
		g++;
		}
		
		}
	return arrElements;
	
	//---------------------------------------
	}
Ответить с цитированием
  #9 (permalink)  
Старый 22.04.2012, 17:46
Интересующийся
Отправить личное сообщение для SindBad Посмотреть профиль Найти все сообщения от SindBad
 
Регистрация: 15.03.2011
Сообщений: 11

Будет работать только если селектор точно совпадает со значением атрибута class. Предыдущий лучше.
А ещё можно обойтись без g, ну хотя бы так:
arrElements[arrElements.length]=allSpan[i];
или с помощью .push
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Под IE8 задизейблена кнопка, а под Mozilla нет Svetich Internet Explorer 2 05.07.2011 10:03
Подстроить высоту страницы под юзера, прошу совета у гуру batonsu Events/DOM/Window 11 10.11.2010 19:39
баг javascript+jQuery под mac os runner Opera, Safari и др. 0 11.06.2010 18:15
Люди, помогите адаптировать скрипт под Оперу KiLLk Opera, Safari и др. 1 01.06.2009 01:05
Выезжание таблицы из под ниоткуда. lancer Элементы интерфейса 3 29.06.2008 15:03