Javascript.RU

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

Обсуждение некоего скрипта
Уважаемые участники форума! Большая просьба ко всем желающим помочь. Очень нужно, чтобы кто-то объяснил следующий скрипт, желательно каждую функчию в отдельности, а именно, что она делает, какая переменная для чего нужна. Буду Оччень благодарен. Заранее спасибо

З.Ы. Программа - прожектор, видит текст при наведении мыши на чёрный фон.

<html>
<head>

<!-- HEAD START HERE -->

<style type="text/css">
#divExCont {position:absolute; left:0px; top:0px; clip:rect(0px 0px 0px 0px); layer-background-color:#ffffff; background-color:#ffffff;}
#divCircle {position:absolute; z-index:500; visibility:hidden; width:170px;}
body {background-color:#000000; overflow:hidden;}
</style>
<script language="JavaScript" type="text/javascript">
/************************************************** ********************************
Spotlight
* Copyright (C) 2001 Thomas Brattli
* This script was released at WOscripts.com
* Visit for more great scripts!
* This may be used and changed freely as long as this msg is intact!
* We will also appreciate any links you could give us.
************************************************** *******************************/

function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck()



/*** Variables to set ***/
sCircleWidth = 168 //The width the script will clip to
sCircleHeight = 168 //The height the script will clip to
sStarty = 200 //Where do you want it to initially start
sStartx = 200 //Where do you want it to initially start
clipSpeed = 20 //Number of pixels for each step in the animation.

/************************************************** ****************************
Making the clipobject part
************************************************** ****************************/
function makeObj(obj, nest, x, y){
nest = (!nest) ? "":'document.'+nest+'.';
this.css = bw.dom? document.getElementById(obj).style:bw.ie4?document .all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0;
this.evnt = bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0;
this.clip = b_clip;
this.clipIt = b_clipIt;
this.clipTo = b_clipTo;
this.obj = obj + "Object";
eval(this.obj + "=this");
return this;
}

// A unit of measure that will be added when setting the position or size of a layer.
var px = bw.ns4||window.opera?"":"px";

//clip part
function b_clipTo(t,r,b,l){
if (bw.ns4){
this.css.clip.top=t;this.css.clip.right=r;this.css .clip.bottom=b;this.css.clip.left=l;
}
else {
this.css.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)";
}
}
function b_clipIt(tstop,rstop,bstop,lstop,step,fn){
if (!fn) fn = null
var clipval = new Array()
if (bw.dom || bw.ie4) {
clipval = this.css.clip
clipval = clipval.slice(5,clipval.length-1);
clipval = clipval.split(' ')
for (var i=0; i<4; i++) clipval[i] = parseInt(clipval[i])
}
else {
clipval[0] = this.css.clip.top
clipval[1] = this.css.clip.right
clipval[2] = this.css.clip.bottom
clipval[3] = this.css.clip.left
}
totantstep = Math.max(Math.max(Math.abs((tstop-clipval[0])/step),Math.abs((rstop-clipval[1])/step)),
Math.max(Math.abs((bstop-clipval[2])/step),Math.abs((lstop-clipval[3])/step)))
if (!this.clipactive)
this.clip(clipval[0],clipval[1],clipval[2],clipval[3],(tstop-clipval[0])/totantstep,
(rstop-clipval[1])/totantstep,(bstop-clipval[2])/totantstep,
(lstop-clipval[3])/totantstep,totantstep,0, fn)
}
function b_clip(tcurr,rcurr,bcurr,lcurr,tperstep,rperstep,b perstep,lperstep,totantstep,antstep, fn){
tcurr=tcurr+tperstep; rcurr=rcurr+rperstep
bcurr=bcurr+bperstep; lcurr=lcurr+lperstep
this.clipTo(tcurr,rcurr,bcurr,lcurr)
if(antstep<totantstep){
this.clipactive=true
antstep++
setTimeout(this.obj+".clip("+tcurr+","+rcurr+","+b curr+","+lcurr+","+tperstep+","
+rperstep+","+bperstep+","+lperstep+","+totantstep +","+antstep+",'"+fn+"')", 40)
}else{
this.clipactive = false
eval(fn)
}
}
/************************************************** ****************************
Initiating the page and the clip objects.
************************************************** ****************************/
function spotInit(){
pageWidth = (bw.ns4 || bw.ns6)?innerWidth:document.body.clientWidth;
pageHeight = (bw.ns4 || bw.ns6)?innerHeight:document.body.clientHeight;
oExCont = new makeObj('divExCont')
if (bw.dom || bw.ie4){
oExCont.css.width = pageWidth+px
oExCont.css.height = pageHeight+px
}
oCircle = new makeObj('divCircle','divExCont')
oExCont.clipTo(sStarty,sStartx+sCircleWidth,sStart y+sCircleHeight,sStartx)
oCircle.css.left = sStartx+px
oCircle.css.top = sStarty+px
oCircle.css.visibility = "visible"
if (bw.ns4)document.captureEvents(Event.MOUSEMOVE)
document.onmousemove = moveCircle;
}
function moveCircle(e){
x = (bw.ns4 || bw.ns6)?e.pageX:event.x
y = (bw.ns4 || bw.ns6)?e.pageY:event.y
oExCont.clipTo(y-sCircleHeight/2, x+sCircleWidth/2, y+sCircleHeight/2, x-sCircleWidth/2)
oCircle.css.left = x - sCircleWidth/2 + px
oCircle.css.top = y - sCircleHeight/2 + px
}
//This is being called when someone clicks the circle.
function showCont(){
document.onmousemove = null
oCircle.css.visibility = "hidden"
oCircle.css.left = 0+px
oCircle.css.top = 0+px
oExCont.clipIt(-clipSpeed, pageWidth+clipSpeed, pageHeight+clipSpeed, -clipSpeed, clipSpeed, 'oExCont.css.overflow="auto"')
}

if (bw.bw) onload = spotInit
</script>

<!-- HEAD END HERE -->




</head>
<body bgcolor="#000000" topmargin="0" leftmargin="0">



<!-- BODY START HERE -->

<div id="divExCont">
<div id="divCircle"><a href="#" onclick="showCont(); return false" onfocus="if(this.blur)this.blur()"><img src="spotlight_circle.gif" width="170" height="170" alt="" border="0"></a></div>
<br>
<br>
<br>
<br>

<br>
<br>
<br>
<br>
<font face="arial,helvetica,sans-serif" size="2" color="#000000">Your regular body content goes here.</font>
</div>


<!-- BODY END HERE -->


</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2008, 16:11
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Скрипт древний и страшный. Лучше не надо его трогать, а то смахнешь пыль - и чихать 3 дня :/
Ответить с цитированием
  #3 (permalink)  
Старый 31.05.2008, 06:30
Аватар для scuter
Профессор
Отправить личное сообщение для scuter Посмотреть профиль Найти все сообщения от scuter
 
Регистрация: 14.03.2008
Сообщений: 169

да действительно афигенный скрипток.
Ответить с цитированием
  #4 (permalink)  
Старый 02.06.2008, 12:33
Аватар для Snipe
Профессор
Отправить личное сообщение для Snipe Посмотреть профиль Найти все сообщения от Snipe
 
Регистрация: 06.05.2008
Сообщений: 765

Сообщение от Headmaster
Очень нужно, чтобы кто-то объяснил следующий скрипт, желательно каждую функчию в отдельности, а именно, что она делает, какая переменная для чего нужна.
Смешно =/
Хотя, м.б. кто-то и найдется, кому будт интересно такую гору разгрести.
Ответить с цитированием
  #5 (permalink)  
Старый 09.07.2008, 15:25
Новичок на форуме
Отправить личное сообщение для Black - C Посмотреть профиль Найти все сообщения от Black - C
 
Регистрация: 09.07.2008
Сообщений: 4

можно ли исправить этот скрипт для контакта ??
он предназначен для приглашения друзей в группу...

Код для добавления всех друзей в группу....Раньше то при добавлении в группу надо было галочки по-моему ставить, а теперь там просто на имя кликаешь и он добавляется... незнаю ,что исправить ???

javascript:function addall(){var butt_all='<b onclick='';var chtulhu=document.getElementsByTagName("input");for(var azatoth=0;azatoth<chtulhu.length;azatoth++){ if (chtulhu[azatoth].type=="checkbox"){ butt_all+='addToInvite('+chtulhu[azatoth].name+');'; }}butt_all+=''>[ДОБАВИТЬ ВСЕХ VKHELP]</b> '; j=0; var div_s=document.getElementsByTagName("div");for(var i=0;i<div_s.length;i++){ if (div_s.className=="pad"){ j++; if(j==2){ div_s.innerHTML=butt_all+div_s.innerHTML; }}} } addall();
Ответить с цитированием
  #6 (permalink)  
Старый 09.07.2008, 15:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Black - C
можно ли исправить этот скрипт для контакта
Конечно можно, рефакторинг вообще чудеса иногда творит, так что любой скрипт можно "исправить для контакта".
Ответить с цитированием
  #7 (permalink)  
Старый 09.07.2008, 16:17
Новичок на форуме
Отправить личное сообщение для Black - C Посмотреть профиль Найти все сообщения от Black - C
 
Регистрация: 09.07.2008
Сообщений: 4

Эммм, ну надо его вообще переделЫвать, а не исправлять там теперь не через чекбоксЫ, а с помошью аджакс

..может подскажите что на что ??кода не много а скрипт очень нужный:confused:
Ответить с цитированием
  #8 (permalink)  
Старый 09.07.2008, 16:40
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Black - C
ну надо его вообще переделЫвать, а не исправлять
Это была цитата из вашего же сообщения.

Я, честно говоря, вообще не понял, что вы хотите, откуда код, и как это относится к данному топику.
Ответить с цитированием
  #9 (permalink)  
Старый 09.07.2008, 16:50
Новичок на форуме
Отправить личное сообщение для Black - C Посмотреть профиль Найти все сообщения от Black - C
 
Регистрация: 09.07.2008
Сообщений: 4

ведь топик называется "Обсуждение некоего скрипта"

вот некий скрипт ....

javascript:function addall(){var butt_all='<b onclick='';var chtulhu=document.getElementsByTagName("input");for (var azatoth=0;azatoth<chtulhu.length;azatoth++){ if (chtulhu[azatoth].type=="checkbox"){ butt_all+='addToInvite('+chtulhu[azatoth].name+');'; }}butt_all+=''>[ДОБАВИТЬ ВСЕХ]</b> '; j=0; var div_s=document.getElementsByTagName("div");for(var i=0;i<div_s.length;i++){ if (div_s.className=="pad"){ j++; if(j==2){ div_s.innerHTML=butt_all+div_s.innerHTML; }}} } addall();

только сейчас он более не работает .. скрипт был предназначен для приглашения всех друзей в группы ... на сайте вконтакте.ру..
Раньше то при добавлении в группу надо было галочки по-моему ставить, а теперь там просто на имя кликаешь и он добавляется...

вопрос такой что не работает и как это исправить ??
Ответить с цитированием
  #10 (permalink)  
Старый 09.07.2008, 22:19
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Black - C
ведь топик называется "Обсуждение некоего скрипта"
Вот именно, некоего, а не всех подряд.

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

З.Ы. Лично я вам помочь не смогу (точнее не буду), т.к. для этого нужно лезть на непосещаемый мною вконтакте и копаться в нем.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остановить выполнение скрипта Nonam Общие вопросы Javascript 22 04.05.2009 01:45
Модификация данных скрипта информера vasiliyb Общие вопросы Javascript 8 29.09.2008 21:24
Неправильная обработка скрипта Анатоль AJAX и COMET 0 31.08.2008 16:57
подключение стороннего js скрипта friend Общие вопросы Javascript 2 24.05.2008 19:51
Простой вопрос - надо из скрипта перейти на ссылку Brother Общие вопросы Javascript 1 27.02.2008 09:50