Javascript.RU

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

Не работает скрипт!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">

function init()
{
	var a=text_search();animation_elements=animation_tag_search(a),hide_elems_page_load()
}
function construct_elements_array(a)
{
	for(var b=0;b<a.length;b++)
		{
			var c=a[b],d=c.elements[0];elements_array[b]=
			{
				elements:c.elements,animation:c.animation,activated:!1,top:d.offset().top,bottom:d.offset().top+d.height()
			}
		}
}
function init_elements()
{
	for(var a=0;a<elements_array.length;a++)
		{
			var b=elements_array[a].elements,c=elements_array[a].activated;switch(elements_array[a].animation)
			{
				case"fade":for(var d=0;d<b.length;d++)c||b[d].css("opacity",1);break;case"slide-left":for(var d=0;d<b.length;d++)c||b[d].css(
					{
						position:"relative",left:-page_width
					}
					);break;case"slide-right":for(var d=0;d<b.length;d++)c||b[d].css(
					{
						position:"relative",left:page_width
					})
			}
				elements_array[a].top=b[0].offset().top
		}
}

function hide_elems_page_load()
{
	for(var a=0;a<animation_elements.length;a++)for(var b=animation_elements[a].elements,c=0;c<b.length;c++)b[c].css(
		{
			opacity:0
		})
}

function show_elems_page_load()
{
	for(var a=0;a<elements_array.length;a++)for(var b=elements_array[a].elements,c=elements_array[a].animation,d=0;d<b.length;d++)"fade"!=c&&b[d].css(
		{
			opacity:1
		})
}

function text_search()
{
	var a=[];return $.fn.mytext=function()
	{
		var a="";return this.contents().each(function()
			{
				3==this.nodeType&&(a+=this.textContent||this.innerText||"")
			}),a
	}
	,$("*").not("script").not("style").each(function(b,c)
		{
			var d=$(this).mytext();d=d.replace(/\s+/g,""),d&&0!==d.length&&null!=d&&""!=d&&""!==d&&a.push($(this))
		}),a
}

function animation_tag_search(a)
{
	for(var b=[],c=0;c<a.length;)
		{
			var d=a[c].html();if(d.indexOf("[fade]")>=0||d.indexOf("[slide-left]")>=0||d.indexOf("[slide-right]")>=0)
			{
				var e={};d.indexOf("[fade]")>=0?(a[c].html(d.replace("[fade]","")),e.animation="fade",e.elements=search_for_end_tag(a,c,"[/fade]")):d.indexOf("[slide-left]")>=0?(a[c].html(d.replace("[slide-left]","")),e.animation="slide-left",e.elements=search_for_end_tag(a,c,"[/slide-left]")):d.indexOf("[slide-right]")>=0&&(a[c].html(d.replace("[slide-right]","")),e.animation="slide-right",e.elements=search_for_end_tag(a,c,"[/slide-right]")),b.push(e),c+=e.elements.length
			}
			else c++
		}
	return b
}

function search_for_end_tag(a,b,c)
{
	for(var d=!1,e=[],f=b;0==d&&f<a.length;)
		{
			e.push(a[f]);var g=a[f].html();g.indexOf(c)>=0?(a[f].html(g.replace(c,"")),d=!0):d=!1,f++
		}
		return e
}

function animate_elements()
{
	for(var a=$(window).scrollTop()+window.innerHeight/4*3+scroll_offset,b=0;b<elements_array.length;b++)
		{
			var c=elements_array[b].elements;if(elements_array[b].top<a&&!elements_array[b].activated)
			{
				switch(elements_array[b].animation)
				{
					case"fade":for(var d=0;d<c.length;d++)c[d].delay(animation_delay).animate(
						{
							opacity:1
						}
						,
						{
							duration:1e3,easing:"swing"
						}
						);break;case"slide-left":for(var d=0;d<c.length;d++)c[d].delay(animation_delay).animate(
						{
							left:0
						}
						,
						{
							duration:1e3,easing:"swing"
						}
						)
				}
					elements_array[b].activated=!0
			}
		}
}
		var elements=null,animation_elements=[],elements_array=[],scroll_offset=0,width_offset=0,page_width=$(window).width()+width_offset,animation_delay=800;init(),$(window).load(function()
			{
				construct_elements_array(animation_elements),init_elements(),animate_elements(),animation_delay=200,show_elems_page_load()
			}
			),$(document).scroll(function()
			{
				animate_elements()
			}
			),$(window).resize(function()
			{
				page_width=$(window).width()+width_offset,init_elements()
			}
			);
</script>

Последний раз редактировалось Zhekag, 08.05.2017 в 12:50.
Ответить с цитированием
  #2 (permalink)  
Старый 08.05.2017, 13:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Zhekag,
скрипт вниз страницы пробовали поставить? (и где описание скрипта?)
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2017, 20:17
Новичок на форуме
Отправить личное сообщение для Zhekag Посмотреть профиль Найти все сообщения от Zhekag
 
Регистрация: 08.05.2017
Сообщений: 3

Сообщение от рони Посмотреть сообщение
Zhekag,
скрипт вниз страницы пробовали поставить? (и где описание скрипта?)
Скрипт добавляет анимацию для текста, использовался в шаблоне Squarespace (в поле "code injection"). Сначала работал только "fade", при скроллинге проявлял текст ("slide-left" и "slide-right" не работали вообще, просто делали текст невидимым, хотя по задумке должны были слайдить текст слева и справа), но потом перестал работать и fade...
видео с работающим скриптом:
https://www.youtube.com/watch?v=syFhVo_ueAQ
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт не работает в Opera в интернете, но работает на локальном ПК lsti Opera, Safari и др. 4 29.12.2013 07:48
Не работает скрипт калькулятора в FF 4.0 YaVolodya Firefox/Mozilla 2 01.11.2013 11:04
В Firefox не работает скрипт в отличии от Opera, Chrome, IE yanagas Javascript под браузер 2 06.08.2013 01:32
Не работает скрипт :( VladimirV Javascript под браузер 5 21.12.2010 14:26
скрипт работает только в IE, а в остальных браузерах нет. melodicman Firefox/Mozilla 0 23.06.2010 15:18