Подскажите,как можно остановить работаюший цыкл на javascript с страницы? Вот например, на странице работает цыкл,а у меня на странице кнопка "стоп",и нужно чтобы по ее нажатию цыкл скрипта останавливался,как ето сделать? желательно не теорию а на примере(=
Задача: есть ссылка Code: <a href="javascript:myfunc(1)">Линк 1</a> Когда кликаем по ней, ниже (под "Линк 1") появляется "Линк 2" по "Линк 2" - появляется "Линк 3". По "Линк 3" - "Линк 4"... Как реализуется myfunc(num)?
Для этого существуют javascript-debugger'ы. В каждом браузере существуют свои расширения для этого. Для FF - plugin firebug, Opera - Dragonfly(Tools - Advanced - Developer Tools), IE - debug bar. Так же под IE можно дебажить через MS VS, приаттачившись к процессу. Не совсем тоже самое, но, возможно, поможет: PHP: <script type="text/javascript"> var currNum = 1; function insertAfter( referenceNode, newNode ) { referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling); } function addNewA( obj ) { var newP = document.createElement('p'); var newA = document.createElement('a'); newP.appendChild(newA); newA.href="javascript:void(0)"; newA.onclick = function(){ addNewA( this ) }; newA.innerHTML = 'New A #'+(currNum++); insertAfter( obj, newP ); } </script> <p><a href="javascript:void(0)" onclick="javascript:addNewA( this );">First A</a></p> Взято с: http://www.netlobo.com/javascript-insertafter.html
Вопшем вот написал такой код... Code: <?php $command=$_POST['com']; if($command==''){ ?> <script> var zapros; var url; function prepareRequest() { var zapros = false; if (window.XMLHttpRequest) { // Mozilla, Safari,... zapros = new XMLHttpRequest(); if (zapros.overrideMimeType) { } } else if (window.ActiveXObject) { // IE try { zapros = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { zapros = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!zapros) { alert('Ошибка при создании XMLHTTP'); return false; } return zapros; } function processLeave() { url="ajax.php"; zapros = prepareRequest(); zapros.onreadystatechange = function() {processReqChange();} zapros.open('POST', url); zapros.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=windows-1251'); zapros.send('com=3'); } function processReqChange() { if (zapros.readyState == 4) { if (zapros.status == 200) { // document.getElementById('good').innerHTML=""+zapros.responseText; // document.getElementById("good").innerHTML=document.getElementById("good").innerHTML+zapros.responseText; // alert(zapros.responseText); eval(zapros.responseText); PickText = zapros.responseText; innerHTML = PickText; } else { alert("Не удалось получить данные:\n" + zapros.statusText); } } } function processMain() { document.getElementById("good").innerHTML=document.getElementById("good").innerHTML+zapros.responseText; processLeave(); } </script> <div id="good"></div> <a href="javascript:processLeave();">processLeave</a> <a href="">stop</a> <?php }else{ echo "processMain();"; } ?> Суть такова,на ajax даеться запрос на страницу ету же,получает ответ в виде processMain(); и снова ета ф-цыя делает запрос,чтото вроде цыкла выходит,так вот,как етот круг можно остановить со страницы ссылкой stop? нужно чтобы при ее нажатии просто запрос не исполнился а место него выполнилось другое действие. Я уже кучу времени потратил,но так ничего и не вышло...Плиз,помогите(
научите Подскажите, как делать запрос в базу данных mysql на AJAX? С чего начать? PHP: <input type="submit" name="sale" value="куплен"> $result = mysql_query ("UPDATE `b` SET `sale`='1' WHERE `uin`='".$_REQUEST['s_num']."'"); Как выполнять такие запросы без перезагрузки страницы? Спасибо!
скорее всего с того чтобы определиться писать этот модуль самому или откуда нибудь копипастить.. я не особо шарю в аяксе, но чувствую что готовых решений вагон и тележка...
http://www.w3schools.com/PHP/php_ajax_database.asp там же можно и попробовать, как это работает, выбирая из списка разные ФИО
как нить можно получить средствами пхп результат работы ява-скрипта? т.е. пхп-скрипт получает страничку с ява-скриптом и нада получить результат выполнения его)
У меня с Ajax не очень, так что нужна ваша помощь! вот такая проблема: Есть скрипт отображения времени: time.js Code: function show2(){ if (!document.all&&!document.getElementById) return thelement=document.getElementById? document.getElementById("tick2"): document.all.tick2 day=new Date() var hours=day.getHours() var minutes=day.getMinutes() if (minutes<=9) minutes="0"+minutes var ctime=hours+":"+minutes thelement.innerHTML="<span class='time'>"+ctime+"</span>" setTimeout("show2()",1000) } window.onload=show2 мне понадобилось добавить скрипт для перемещения объектов по странице, вот он: dragable-content.js Code: if(!window.rememberPositionedInCookie)var rememberPositionedInCookie = false; if(!window.rememberPosition_cookieName)var rememberPosition_cookieName = 'demo'; var dragObjArray = new Array(); var dragObjCloneArray = new Array(); var numericIdToBeDragged = false; var dragDropTimer = -1; var mouse_x; var mouse_y; var el_x; var el_y; var currentZIndex = 10000; var dragableElementMoved = new Array(); var dragableContent_cookieString; var dragableContent_cookieItems = new Array(); function Get_Cookie(name) { var start = document.cookie.indexOf(name+"="); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(";",len); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(len,end)); } function Set_Cookie(name,value,expires,path,domain,secure) { expires = expires * 60*60*24*1000; var today = new Date(); var expires_date = new Date( today.getTime() + (expires) ); var cookieString = name + "=" +escape(value) + ( (expires) ? ";expires=" + expires_date.toGMTString() : "") + ( (path) ? ";path=" + path : "") + ( (domain) ? ";domain=" + domain : "") + ( (secure) ? ";secure" : ""); document.cookie = cookieString; } function getTopPos(inputObj) { var returnValue = inputObj.offsetTop; while((inputObj = inputObj.offsetParent) != null){ if(inputObj.tagName!='HTML')returnValue += inputObj.offsetTop; } return returnValue; } function getLeftPos(inputObj) { var returnValue = inputObj.offsetLeft; while((inputObj = inputObj.offsetParent) != null){ if(inputObj.tagName!='HTML')returnValue += inputObj.offsetLeft; } return returnValue; } function initDragDropElement(e) { if(document.all)e = event; if(document.all)e = event; if (e.target) source = e.target; else if (e.srcElement) source = e.srcElement; if (source.nodeType == 3) // defeat Safari bug source = source.parentNode; if(source.tagName.toLowerCase()=='input' || source.tagName.toLowerCase()=='textarea')return false; numericIdToBeDragged = this.className.replace(/[^0-9]/g,''); dragDropTimer=0; mouse_x = e.clientX; mouse_y = e.clientY; currentZIndex = currentZIndex + 1; dragObjCloneArray[numericIdToBeDragged].style.zIndex = currentZIndex; if(!dragableElementMoved[numericIdToBeDragged]){ dragObjCloneArray[numericIdToBeDragged].style.top = getTopPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.left = getLeftPos(dragObjArray[numericIdToBeDragged]) + 'px'; } el_x = dragObjCloneArray[numericIdToBeDragged].style.left.replace('px','')/1; el_y = dragObjCloneArray[numericIdToBeDragged].style.top.replace('px','')/1; timerDragDropElement(); return false; } function timerDragDropElement() { if(dragDropTimer>=0 && dragDropTimer<10){ dragDropTimer = dragDropTimer + 1; setTimeout('timerDragDropElement()',5); return; } if(dragDropTimer>=10){ if(dragObjCloneArray[numericIdToBeDragged].style.display=='none'){ dragObjArray[numericIdToBeDragged].style.visibility = 'hidden'; dragObjCloneArray[numericIdToBeDragged].style.display = 'block'; dragObjCloneArray[numericIdToBeDragged].style.visibility = 'visible'; dragObjCloneArray[numericIdToBeDragged].style.top = getTopPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.left = getLeftPos(dragObjArray[numericIdToBeDragged]) + 'px'; dragableElementMoved[numericIdToBeDragged] = true; } } } function cancelEvent() { return false; } function cancelSelectionEvent() { if(dragDropTimer>=0)return false; return true; } function moveDragableElement(e) { if(document.all)e = event; if(dragDropTimer<10)return; dragObjCloneArray[numericIdToBeDragged].style.left = (e.clientX - mouse_x + el_x) + 'px'; dragObjCloneArray[numericIdToBeDragged].style.top = (e.clientY - mouse_y + el_y) + 'px'; } function stop_dragDropElement() { dragDropTimer = -1; if(rememberPositionedInCookie && dragObjCloneArray[numericIdToBeDragged]){ dragableContent_cookieItems['dragableElementClone' + numericIdToBeDragged] = [dragObjCloneArray[numericIdToBeDragged].style.left,dragObjCloneArray[numericIdToBeDragged].style.top,dragObjCloneArray[numericIdToBeDragged].style.zIndex]; } if(rememberPositionedInCookie)createCookieString(); numericIdToBeDragged = false; } function createCookieString() { var stringToSave = ''; for(var prop in dragableContent_cookieItems){ if(stringToSave)stringToSave = stringToSave + '###'; stringToSave = stringToSave + prop + ',' + dragableContent_cookieItems[prop][0] + ',' + dragableContent_cookieItems[prop][1] + ',' + dragableContent_cookieItems[prop][2]; } Set_Cookie(rememberPosition_cookieName,stringToSave,60000000); } function initdragableElements() { var dragableContent_cookieString = false; if(rememberPositionedInCookie){ dragableContent_cookieString = Get_Cookie(rememberPosition_cookieName); } var tmpElements = new Array(); var allObjects = document.getElementsByTagName('*'); for(var no=0;no<allObjects.length;no++){ if(allObjects[no].className=='dragableElement'){ allObjects[no].style.cursor = 'move'; tmpElements[tmpElements.length] = allObjects[no]; } } for(var no=0;no<tmpElements.length;no++){ var el = tmpElements[no].cloneNode(true); tmpElements[no].className='dragableElement' + no; el.onmousedown = initDragDropElement; el.className='dragableElementClone' + no; el.style.position='absolute'; el.style.display='none'; el.style.visibility='hidden'; el.style.top = getTopPos(tmpElements[no]) + 'px'; el.style.left = getLeftPos(tmpElements[no]) + 'px'; tmpElements[no].parentNode.insertBefore(el,tmpElements[no]); tmpElements[no].onmousedown = initDragDropElement; dragObjArray[no] = tmpElements[no]; dragObjCloneArray[no] = el; } document.body.onmousemove = moveDragableElement; document.body.onmouseup = stop_dragDropElement; document.body.onselectstart = cancelSelectionEvent; document.body.ondragstart = cancelEvent; // Position cookie elements if(dragableContent_cookieString){ var items = dragableContent_cookieString.split('###'); for(var no=0;no<items.length;no++){ var tokens = items[no].split(','); dragableContent_cookieItems[tokens[0]] = [tokens[1] ,tokens[2],tokens[3]]; } positionItemsFromCookie(); } } function positionItemsFromCookie() { for(var prop in dragableContent_cookieItems){ for(var no=0;no<dragObjCloneArray.length;no++){ if(dragObjCloneArray[no].className==prop){ dragableElementMoved[no] = true; dragObjCloneArray[no].style.display='block'; dragObjArray[no].style.visibility = 'hidden'; dragObjCloneArray[no].style.visibility = 'visible'; dragObjCloneArray[no].style.left = dragableContent_cookieItems[prop][0]; dragObjCloneArray[no].style.top = dragableContent_cookieItems[prop][1]; dragObjCloneArray[no].style.zIndex = dragableContent_cookieItems[prop][2]; currentZIndex = Math.max(currentZIndex,dragableContent_cookieItems[prop][2]/1 + 1); } } } } window.onload = initdragableElements; и если убрать скрипт "время", то он будит работать, а если скрипт оставить , то элементы перетаскивать нельзя, вчём дело непойму, может вопрос нубский но прошу помощи
window.onload=show2 window.onload = initdragableElements; http://www.manhunter.ru/webmaster/4_zapusk_neskolkih_funkciy_po_sobitiyu_onload.html
а можно ли это на ActionScript сделать? часы я сделал на флеш, а если и этот скрипт ? или я задумал невозможное?
Здравствуйте вот такой вопрос.. К большинству модулей на DLE прикручен аякс, когда вы отправляете сообщение , то окно как бы замирает и появляется полосочка загрузки, без рефреша страницы, пявляется сообщение или новый пост, который вы только что отправили... Я написал модуль, для проверки проиндексированных страниц в яше и гугле, но информация выводится с помощью рефреша, как вывод информации оформить с помощью аякс... Вот пример моего модуля.. Заранее благодарен за помощь...
Думаю разберёшься ) PHP: <script> function startSend() { var httpRequest = ''; if (window.XMLHttpRequest) { httpRequest = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { httpRequest = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { httpRequest = new ActiveXObject('Microsoft.XMLHTTP'); } } } var div = document.getElementById('result'); httpRequest.open('GET', '3.php', true); httpRequest.send(null); httpRequest.onreadystatechange = function result() { if (httpRequest.readyState == 4 || httpRequest.readyState == 'complete') { div.innerHTML += httpRequest.responseText + "<br/>"; } }; setTimeout("startSend()",1000); } </script> <div id="result"></div> <button type="button" onclick="startSend()">START</button>
Подскажите как при помоши java чтобы отображалось какое сегодня число день и время, если можно есчё и погоду.