Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как найти кол. элементов в диве? (https://javascript.ru/forum/misc/33728-kak-najjti-kol-ehlementov-v-dive.html)

koeshiro 05.12.2012 18:05

Как найти кол. элементов в диве?
 
Здравствуйте :)
Недавно подруга угаворила меня сделать читалку для её группы перевода манги. Я согласился, да и всё хорошо шло, но возникла проблемка. Я использую систему нумерации . . . Как бы это получчше объяснить. Думаю код скажет больше чем я.
$ ( document ).ready ( function ( )
{
	var img_id = 1 ;

	$ ( '#click_right' ).click ( function ( )
	{
		$ ( '#slide' ).remove ( ) ;

		img_id = img_id < 3 ? img_id + 1 : 1 ;

		$ ( '#slide_text' ).html ( '<img src="/Transcoded_Mp3_Files/Switch_Jpg_Image/Folder_' + img_id + '_.jpg" border="0" /><br /><br />( [ YOUR STATIC TEXT / ANY STATIC TEXT ] WILL BE HERE ) === ( THIS STATIC TEXT WILL NOT CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )<br /><br />' ) ;

		if ( img_id == 1 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 1 / ANY DYNAMIC TEXT ID 1 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}
		else if ( img_id == 2 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 2 / ANY DYNAMIC TEXT ID 2 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}
		else if ( img_id == 3 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 3 / ANY DYNAMIC TEXT ID 3 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}
	}
	) ;

	$ ( '#click_left' ).click ( function ( )
	{
		$ ( '#slide' ).remove ( ) ;

		img_id = img_id > 1 ? img_id - 1 : 3 ;

		$ ( '#slider' ).html ( '<img src="/Transcoded_Mp3_Files/Switch_Jpg_Image/Folder_' + img_id + '_.jpg" border="0" /><br /><br />( [ YOUR STATIC TEXT / ANY STATIC TEXT ] WILL BE HERE ) === ( THIS STATIC TEXT WILL NOT CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )<br /><br />' ) ;

		if ( img_id == 1 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 1 / ANY DYNAMIC TEXT ID 1 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}
		else if ( img_id == 2 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 2 / ANY DYNAMIC TEXT ID 2 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}
		else if ( img_id == 3 )
		{
			$ ( '#slide_text' ).html ( '( [ YOUR DYNAMIC TEXT ID 3 / ANY DYNAMIC TEXT ID 3 ] WILL BE HERE ) === ( THIS DYNAMIC TEXT WILL CHANGE ON NEW [ IMAGE / PICTURE ] ASSIGNMENT )' ) ;
		}	
	}
	) ;
}
) ;

Видите? Вот подобную читалку я и делал. Без анимации, без особых плющек. Сами проблемы в том что мне нужно узнать число картинок чтоб каректно настроить код. Да и вторая проблемка есть. Надо мне как то создать такоеже число <li> с кнопками которые прировняют img_id к номеру этого самого <li>. . . Не хотел я вас беспокоить, но один человек уже месяц в сети не появлялся. :(

koeshiro 05.12.2012 19:35

Дзен-трансгуманист, большое вам спаибо :)
Вот такой вопросик, можно ли как-то узнать тогда кол. тегов в <div>?
Если нет то поищу всё про "node.js". Спасибо :)

GuardCat 05.12.2012 19:50

koeshiro,
alert( yourDiv. getElementsByTagName("*").length )

koeshiro 05.12.2012 19:57

Цитата:

yourDiv
имя дива? :)

koeshiro 05.12.2012 20:16

Цитата:

DOM-объект, отображающий этот див.
Всё-таки по приведенному коду непонятно толком, что вам конкретно нужно, и в каком окружении он вообще работает. (понятно только, что используется jQuery)
ох, простите :)
Не очень умею объяснять людям свои проблемы, не привык я к такому=)
По сути он просто изменяет src="/////" в теге <img> по клику на картинку или при клике на стрелки . . . короче как обычный слайдер. А вот читалка должна ещё и <li> добавлять =) Вот это проблема не малая, но это уж более решаймо . . .

koeshiro 05.12.2012 21:12

Цитата:

forward
чему равняется? :)
На минус не похоже, хотя работает примерно так =)
Я правильно понял?

koeshiro 05.12.2012 21:29

Дзен-трансгуманист, спасибище :)

koeshiro 06.12.2012 13:30

Всё же очередная не рабочая функция . . . но ведь должно работать(( Короче говоря вот функция замедленного действия.
function(){
    var myhtml=0;
	var obj=document.getElementById('newLi'),i=0,myhtml='<ul>';
	for(i=0,j=z;i<j;i++){
		myhtml+='<li>'+i+'</li>';
	}
	myhtml+='</ul>';
	obj.innerHTML=myhtml;
})();

Она должна создавать <li> Z раз. При Z равной количеству картинок в <div id="chitalka"> . . . Z равен обычно от 15 до 80 и вывести его получается. И код сам по себе рабочий. Меня этому трюку научил один очень хороший человек. Я бы и сейчас к ниму обратился, дабы вас не беспокоить, но его уже долго нет. И сайт его пустует. Вот рабочий пример: http://likbezz.ru/_example/jscript/2..._elements.html
Надеюсь на вашу помощь =( Так же пытался прировнять img_id выше показаного ксрипта к номеру картинки (этим же трюком: i=0,j=z;i<j;i++ ). Но тоже не очен хочет работать. Наверное потому что локально проверяю . . . Помогите прошу.

lord2kim 06.12.2012 17:16

koeshiro,
function(){
    var myhtml=0;
    var obj=document.getElementById('newLi'),i=0,myhtml='<ul>';
    for(i=0,j=z;i<j;i++){
        myhtml+='<li>'+i+'</li>';
    }
    myhtml+='</ul>';
    obj.innerHTML=myhtml;
}();

z прямо в ней тогда уж определяйте ибо она сразу вызывается
а лучше когда что-то не робит юзайте дебагер браузера...

koeshiro 06.12.2012 20:36

lord2kim, де багер? Это что? Типа то что находит ошибки в коде?
Спасибо за ответ :)


Часовой пояс GMT +3, время: 10:41.