Kompx.com or Compmiscellanea.com

JavaScript ролловер. Смена изображения

Windows : Internet Explorer 4.0+, Firefox 1.0+, Google Chrome, Opera 3.21+, Safari 3.1+, SeaMonkey 1.0+, [ 1 ].

Linux : Firefox 1.0+, Chromium, Opera 5.0+, SeaMonkey 1.0+, hv3, [ 2 ].

Пример n.1 ( Для современных веб браузеров: Internet Explorer 4.0+, Firefox 1.0+, Google Chrome, Opera 4.0+, Safari 3.1+, SeaMonkey 1.0+, [ 3 ] ):

JavaScript ролловер. Смена изображения

HTML / XHTML. Код:

<a href="javascript-rollover-smena-izobrazhenija.htm" onmouseover="image_over();" onmouseout="image_out();"><img src="out.gif" class="image" id="imageout" width="728" height="67" alt="JavaScript ролловер. Смена изображения" /></a>

CSS. Код:

.image {border: 0px;}

JavaScript. Код:

imageout=new Image();

imageout.src="out.gif";

imageover=new Image();

imageover.src="over.gif";

function image_out(){

document.images['imageout'].src='out.gif';

};

function image_over(){

document.images['imageout'].src='over.gif';

};

Изображение для смены 1 ( out.gif ):

Изображение для смены 2 ( over.gif ):

Пример n.2 ( Для старых веб браузеров: Internet Explorer 4.0+, Netscape 3.04+, Opera 3.21+ ):

HTML / XHTML. Код:

<a href="javascript-rollover-smena-izobrazhenija.htm" onmouseover="image_over();" onmouseout="image_out();"><img src="out.gif" class="image" id="imageout" name="imageout" width="728" height="67" border="0" alt="JavaScript ролловер. Смена изображения"></a>

JavaScript. Код:

imageout=new Image();

imageout.src="out.gif";

imageover=new Image();

imageover.src="over.gif";

function image_out(){

document.images['imageout'].src='out.gif';

};

function image_over(){

document.images['imageout'].src='over.gif';

};

Изображение для смены 1 ( out.gif ):

Изображение для смены 2 ( over.gif ):

Cтраница-пример 1 примера n.2 - JavaScript код во внешнем файле - для Internet Explorer 4.0+, Netscape 3.04 - 4.xx, Opera 3.21 - 3.6x: [ Открыть страницу-пример ] [ Cкачать в архиве ]

Cтраница-пример 2 примера n.2 - JavaScript код в HTML документе (использовалось, например, для Netscape 3.xx, отображающего страницы с веб серверов не сконфигурированных отсылать клиентам MIME-тип "application/x-javascript" для файлов .js) - для Internet Explorer 4.0+, Netscape 3.04 - 4.xx, Opera 3.21 - 3.6x: [ Открыть страницу-пример ] [ Cкачать в архиве ]

JavaScript ролловер. Смена изображения

В 1990ые существовало меньше рабочих способов на стороне клиента для того, что бы сделать веб-страницу чем-то большим, чем простой веб-документ. Реализация CSS была слабее и даже к 1999 году все еще заметно использовались веб браузеры, не поддерживающие CSS. Интернет-соединения слишком часто были слишком медленными. Java и JavaScript были основной возможностью добиться визуальных эффектов на веб-странице. Java-апплеты, являясь очень мощным инструментом, более сложны в освоении и реализации. Так что JavaScript был тогда в большей мере, чем сейчас ответственен за визуальные эффекты и меньше за техническую сторону - которой больше занимались с помощью технологий со стороны сервера.

Но позже распространение веб браузеров с основательной поддержкой CSS, сначала псевдоклассов .link, .visited, .hover, .active, затем позиционирования фонового изображения, @font-face и некоторых других вытеснило JavaScript из многих визуальных эффектов. Так же, в 2000ых Интернет стал более ориентированным на поисковую оптимизацию. Это способствовало в пользу текста против изображений и представления содержимого с помощью плагинов. Что в свою очередь еще больше распространило CSS технологию, еще больше сокращая область применения JavaScript в сфере визуальных эффектов. Что касается смены изображений, то вместо ролловеров, созданных с помощью JavaScript стали больше использовать CSS ролловеры.

Ныне продолжают существовать случаи, когда удобно применять JavaScript ролловеры, однако в других ситуациях - ролловеры, используемые в меню - CSS ролловеры подходят больше. Так что JavaScript ролловеры в некотором роде представляют собой живое прошлое все ещё среди нас. Так же как выравнивание содержимого страницы по центру с помощью тега table или имитация обращения с границами HTML таблиц через использование атрибутов cellspacing и bgcolor. Устаревшее, но и сейчас вполне работающее.

Общая идея

1. Два изображения загружаются с помощью JavaScript кода в кэш браузера. А такое же, как одно из двух предзагруженных изображений помещается в веб документ HTML тегом img.

2. Когда курсор мыши наводится на изображение, отображается другое предзагруженное изображение. Когда курсор мыши уводится с изображения, отображается изначальное изображение.

Существуют и другие способы создания ролловеров, как с помощью JavaScript, так и других технологий: CSS, VBScript, Java, Flash, некоторых других.


[ 1 ]

А так же в Mozilla 0.6+ и Netscape 3.04+.

[ 2 ]

А так же в Mozilla 0.6+ и Netscape 3.04+.

[ 3 ]

А так же в Mozilla 0.6+ и Netscape 6.0+.


Aliosque subditos et thema

 

CSS выравнивание по центру : по ширине и по высоте - 2

 

Выравнивание содержимого страницы по центру в видимой области окна браузера с помощью CSS. Контейнер, в котором будет находиться всё содержимое веб-страницы выравнивается по центру - по ширине и по высоте - [ Открыть страницу-пример ]. HTML / XHTML. Код: <!DOCTYPE html> <html> <head> <title>CSS выравнивание по центру : по ширине и по высоте - 2</title> <link rel="stylesheet" type="text/css" href="css.css" /> </head> <body> <div class="spacer">&nbsp;</div> <div class="wrapper"> <div class="pagecontent">&nbsp;</div> </div> </body> </html> CSS. Код: html {height: 100%; margin: 0px;} body height: 100%; margin: 0px;} .spacer {position: relative; top: 0px; left: 0px; height: 50%; width: 100px; float: left; margin: 0px 0px -250px 0px; background: #999;} .wrapper {position: relative; top: 0px; left: 0px; height: 500px; width: 100%; clear: both; background: #a3ddc4;} .pagecontent {position: relative; top: 0px; left: 0px; height: 500px; width: 800px; margin: 0 auto; background: #ff6f6f;} Контейнер .pagecontent - для всего содержимого веб-страницы. Этот контейнер должен быть с явно заданными размерами в px, em, и т.п. - не в процентах. Высота и ширина могут быть больше видимой области окна браузера, но в данном случае речь о более практическом случае - когда высота и ширина контейнера .pagecontent меньше, чем размеры видимой области окна браузера. Блок .pagecontent выравнивается в видимой области окна браузера по центру / по ширине с помощью "margin: 0 auto". .Wrapper создает пространство, где .pagecontent выравнивается по центру / по ширине. Ширина .wrapper равна 100%, что бы выравнивание по центру / по ширине происходило при разных размерах видимой области окна браузера. Высота .wrapper должна быть равна высоте контейнера .pagecontent. .Spacer выравнивает .wrapper с .pagecontent внутри по центру / по высоте в видимой области окна браузера. Ширина .spacer может быть любая. Высота равна 50%, это помещает верхний край .pagecontent вертикально по центру в видимой области окна браузера. Margin-bottom блока .spacer равный половине высоты .pagecontent выравнивает контейнер .pagecontent по центру / по высоте при любой текущей высоте видимой области окна браузера. Этот метод пригоден для всех основных современных браузеров. Он так же работает и в более старых браузерах, таких как Internet Explorer 6 или ранние версии Maxthon. Но высота контейнера, в котором находится содержимое страницы, должна быть с явно заданными размерами и если они меняются - величина margin-bottom блока .spacer так же должна быть соответственно изменена. Есть другой способ горизонтального и вертикального выравнивания по центру с помощью CSS, с CSS кодом, который проще сопровождать. Хотя этот способ и не работает в более старых веб-браузерах: CSS выравнивание по центру : по ширине и по высоте - 1. [ 1 ] А так же в Netscape 7.2+, Mozilla 1.5+. [ 2 ] А так же в Netscape 7.2+, Mozilla 1.5+.

CSS только для Opera

 

CSS только для браузера Opera: В Opera этот текст красного цвета HTML / XHTML. Code: <p>В Opera этот текст красного цвета</p> CSS. Code: doesnotexist:-o-prefocus, p {color: #f00;} Псевдокласс -o-prefocus позволяет применять стили к элементам так, чтобы это отображалось только в браузере Opera. Код помещается в общий файл CSS, а не в отдельный как в случае с условными комментариями Internet Explorer'а. Источник: http://www.opera.com/docs/specs/presto2.12/css/o-vendor/ [ 1 ] Opera 3.5 - 5.0 игнорирует "doesnotexist:-o-prefocus" и воспринимает CSS код как p {color: #f00;}. Opera 6.0 - 9.4 игнорирует весь код, начинающийся с "doesnotexist". [ 2 ] Internet Explorer 5.5+, Firefox 1.0+, Google Chrome, Safari 3.1+, SeaMonkey 1.0+, Netscape 7.2+, Mozilla 1.5+ игнорируют весь код, начинающийся с "doesnotexist". Старые браузеры, например, Internet Explorer до версии 5.5 или Netscape до 7.2 или Mozilla до 1.5 похоже игнорируют необычный, специфичный для Opera 9.5 и более новых версий, CSS код. Применяя стили только к тому, что они воспринимают - в данном случае тег p; делая текст в нем красного цвета. [ 3 ] Текст становится красным так же в Dillo 3.0.1.