Skip to content

opacity.js

1. Берём вот такой яваскрипт:

function setElementOpacity(oElem, nOpacity)
{
var p = getOpacityProperty();
(setElementOpacity = p=="filter"?new Function('oElem', 'nOpacity', 'nOpacity *= 100;	var oAlpha = oElem.filters["DXImageTransform.Microsoft.alpha"] || oElem.filters.alpha;	if (oAlpha) oAlpha.opacity = nOpacity; else oElem.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity="+nOpacity+")";'):p?new Function('oElem', 'nOpacity', 'oElem.style.'+p+' = nOpacity;'):new Function)(oElem, nOpacity);
}

function getOpacityProperty()
{
var p;
if (typeof document.body.style.opacity == 'string') p = 'opacity';
else if (typeof document.body.style.MozOpacity == 'string') p =  'MozOpacity';
else if (typeof document.body.style.KhtmlOpacity == 'string') p =  'KhtmlOpacity';
else if (document.body.filters && navigator.appVersion.match(/MSIE ([\d.]+);/)[1]>=5.5) p =  'filter';

return (getOpacityProperty = new Function("return '"+p+"';"))();
}

function fadeOpacity(sElemId, sRuleName, bBackward)
{
var elem = document.getElementById(sElemId);
if (!elem || !getOpacityProperty() || !fadeOpacity.aRules[sRuleName]) return;

var rule = fadeOpacity.aRules[sRuleName];
var nOpacity = rule.nStartOpacity;

if (fadeOpacity.aProc[sElemId]) {clearInterval(fadeOpacity.aProc[sElemId].tId); nOpacity = fadeOpacity.aProc[sElemId].nOpacity;}
if ((nOpacity==rule.nStartOpacity && bBackward) || (nOpacity==rule.nFinishOpacity && !bBackward)) return;

fadeOpacity.aProc[sElemId] = {'nOpacity':nOpacity, 'tId':setInterval('fadeOpacity.run("'+sElemId+'")', fadeOpacity.aRules[sRuleName].nDalay), 'sRuleName':sRuleName, 'bBackward':Boolean(bBackward)};
}

fadeOpacity.addRule = function(sRuleName, nStartOpacity, nFinishOpacity, nDalay){fadeOpacity.aRules[sRuleName]={'nStartOpacity':nStartOpacity, 'nFinishOpacity':nFinishOpacity, 'nDalay':(nDalay || 30),'nDSign':(nFinishOpacity-nStartOpacity > 0?1:-1)};};

fadeOpacity.back = function(sElemId){fadeOpacity(sElemId,fadeOpacity.aProc[sElemId].sRuleName,true);};

fadeOpacity.run = function(sElemId)
{
var proc = fadeOpacity.aProc[sElemId];
var rule = fadeOpacity.aRules[proc.sRuleName];

proc.nOpacity = Math.round(( proc.nOpacity + .1*rule.nDSign*(proc.bBackward?-1:1) )*10)/10;
setElementOpacity(document.getElementById(sElemId), proc.nOpacity);

if (proc.nOpacity==rule.nStartOpacity || proc.nOpacity==rule.nFinishOpacity) clearInterval(fadeOpacity.aProc[sElemId].tId);
}
fadeOpacity.aProc = {};
fadeOpacity.aRules = {};

 

Сохраняем его в... скажем, opacity.js

 

2. Подключаем яваскрипт к форуму:

<script type="text/javascript" src="/любая_папка/opacity.js"></script>

 

3. Создаем правило изменения прозрачности: задаем имя правила, начальную и конечную прозрачность, а также необязательный параметр задержки влияющий на скорость смены прозрачности:

 

<script type="text/javascript">
 fadeOpacity.addRule('oR1', 0.3, 1, 30);
</script>

 

4. Приписываем к изображениям функции и идентификаторы:

<img id="fImg1" onMouseOver="fadeOpacity(this.id, 'oR1')"  onmouseout="fadeOpacity.back(this.id)" src="/img/image_1.jpg" width="100" height="80" />
<img id="fImg2" onMouseOver="fadeOpacity(this.id, 'oR1')"  onmouseout="fadeOpacity.back(this.id)" src="/img/image_2.jpg" width="82" height="100" />
<img id="fImg3" onMouseOver="fadeOpacity(this.id, 'oR1')"  onmouseout="fadeOpacity.back(this.id)" src="/img/image_3.jpg" width="98" height="97" />

 

Статья пренадлежит КОМУ?

 

Так вот хочу задать вопрос как этот эфект прикрепить к картинкам,все перепробовал,но косяк один и тот же к примеру прикрепляю эффект к кнопке ответить в посте,вроде нормуль,она плавненько затухает и загорается,но когда пытаюсь навести на кнопку ,находящуюся в нижнем и послед сообщения,то в послед постах эффекта никакого,а в самом первом происходят изменения,тобешь потухание и загорание)))

Ааа черт голову сломит,я думаю админчеги опытные поймут меня)))

Featured Replies

Статья не принадлежит тому, на кого Вы указали, так как он ничего не понимает в скриптах.

Свои ссылки тот сайт проставляет в украденных стилях и чужих модах, не говоря о воровстве статей.

Укажите первоисточник, иначе удалю тему.

 

Ссылку на личера и вора убираю сразу.

 

Зы. Тему пока закрываю.

Ссылку на настоящего автора вышлите мне в личку.

Тогда открою тему.

 

Зы Зы

Ваш другой ник LooRD.

Не, не открою тему. И Вы знаете почему.

Будете продолжать провокации и стеб, удалим Вас.

 

Сменила Вам отображаемое имя. Так честнее.

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.