Search Results

Search found 27606 results on 1105 pages for 'javascript disabled'.

Page 404/1105 | < Previous Page | 400 401 402 403 404 405 406 407 408 409 410 411  | Next Page >

  • jquery.append() - only the last element of my list is appended, previous ones are erased

    - by jaes
    Hi, I have a page like this : <div id="daysTable"> <div id="day0" class="day"></div> <div id="day1" class="day"></div> <div id="day2" class="day"></div> <div id="day3" class="day"></div> <div id="day4" class="day"></div> <div id="day5" class="day"></div> <div id="day6" class="day"></div> </div> and some javascript to fill my calendar like this function getWeek(){ $.getJSON("/getWeek",function(events){ var eventHeight = $("#hoursTable > div").height(); var eventWidth = $("#daysTable > div").width(); var startWeek = events[0]// timestamp of the start of the week for(var i = 1; i < events.length; i ++){ $(".day").empty(); var startHour = (events[i].startDate - startWeek)/3600 var duration = (events[i].stopDate - startWeek)/3600 - startHour var dayStart = Math.floor(startHour/24); var startHour = startHour - dayStart * 24 divEvent = $('<div id="event'+events[i].idEvent+'"/>') .width(eventWidth-2) .height(duration*eventHeight) .css("border","1px solid black") .css("margin-top",startHour*eventHeight) .html(events[i].name); divEvent.appendTo("#day"+dayStart); console.log(divEvent); } }); } my problem being : events contain 3 element I'd like to display but only the last is displayed. If I stop my "for" at the first iteration I can see the first div appended, but it seems that if my loop goes for three iteration the two previous are deleted. The console.log() display some "not-anymore" existing element. Any idea ?

    Read the article

  • IF-block brackets: best practice

    - by MasterPeter
    I am preparing a short tutorial for level 1 uni students learning JavaScript basics. The task is to validate a phone number. The number must not contain non-digits and must be 14 digits long or less. The following code excerpt is what I came up with and I would like to make it as readable as possible. if ( //set of rules for invalid phone number phoneNumber.length == 0 //empty || phoneNumber.length > 14 //too long || /\D/.test(phoneNumber) //contains non-digits ) { setMessageText(invalid); } else { setMessageText(valid); } A simple question I can not quite answer myself and would like to hear your opinions on: How to position the surrounding (outermost) brackets? It's hard to see the difference between a normal and a curly bracket. Do you usually put the last ) on the same line as the last condition? Do you keep the first opening ( on a line by itself? Do you wrap each individual sub-condition in brackets too? Do you align horizontally the first ( with the last ), or do you place the last ) in the same column as the if? Do you keep ) { on a separate line or you place the last ) on the same line with the last sub-condition and then place the opening { on a new line? Or do you just put the ) { on the same line as the last sub-condition? Community wiki.

    Read the article

  • Can't write to dynamic iframe using jQuery

    - by Fremont Troll
    My goal is to dynamically create an iframe and write ad JavaScript into it using jQuery (e.g. Google AdSense script). My code works on Chrome, but fails intermittently in Firefox i.e. sometimes the ad script runs and renders the ad, and other times it doesn't. When it doesn't work, the script code itself shows up in the iframe. My guess is these intermittent failures occur because the iframe is not ready by the time I write to it. I have tried various iterations of *iframe_html* (my name for the function which is supposed to wait for the iframe to be ready), but no luck. Any help appreciated! PS: I have read various threads (e.g. http://stackoverflow.com/questions/205087/jquery-ready-in-a-dynamically-inserted-iframe). Just letting everyone know that I've done my research on this, but I'm stuck :) Iteration 1: function iframe_html(html){ $('<iframe name ="myiframe" id="myiframe"/>').appendTo('#maindiv'); $('#myiframe').load( function(){ $('#myiframe').ready( function(){ var d = $("#myiframe")[0].contentWindow.document; d.open(); d.close(); d.write(html); }); } ); }; Iteration 2: function iframe_html(html){ $('<iframe id="myiframe"/>').appendTo('#maindiv').ready( function(){ $("#myiframe").contents().get(0).write(html); } ); };

    Read the article

  • VirtualBox limits size of .js file, that can be included from guest additions folder?

    - by c69
    This question might belong to SuperUser, but i'll try to ask it here anyway, because i believe, some web developers might encountered this weird behavior. When testing a site for IE8/winXP compatibility on VirtualBox i run into weird issue of $ is undefined, which is caused by jQuery (and jQuery UI) being not included, when referenced by relative path, which resolves to file:/// url. Seemingly because their size was too big (above 200KB). Simply replacing links to those 2 big files to http:// ones solved the issue for me. But here is the question: why did this happen ? is it a misconfiguration ? a bug ? a known design decision ? Details: VirtualBox 4.1.8 host os: win7 64bit, guest os: xp sp3 32 bit guest additions installed, page was launched from VB shared folder the bug was manifesting itself in all browsers (even in opera, which ignores ie security settings, afaik) ie configuration is default script was included like this: <script type="text/javascript" src="js/libs/jquery/jquery-1.7.2.js"> exact size limit was not deducted.

    Read the article

  • My jQuery and PHP give different results on the same thing?

    - by Stefan
    Hey all, Annoying brain numbing problem. I have two functions to check the length of a string (primarily, the js one truncates as well) heres the one in Javascript: $('textarea#itemdescription').keyup(function() { var charLength = $(this).val().length; // Displays count $('span#charCount').css({'color':'#666'}); $('span#charCount').html(255 - charLength); if($(this).val().length >= 240){ $('span#charCount').css({'color':'#FF0000'}); } // Alerts when 250 characters is reached if($(this).val().length >= 255){ $('span#charCount').css({'color':'#FF0000'}); $('span#charCount').html('<strong>0</strong>'); var text = $('textarea#itemdescription').val().substring(0,255) $('textarea#itemdescription').val(text); } }); And here is my PHP to double check: if(strlen($_POST["description"])>255){ echo "Description must be less than ".strlen($_POST["description"])." characters"; exit(); } I'm using jQuery Ajax to post the values from the textarea. However my php validation says the strlen() is longer than my js is essentially saying. So for example if i type a solid string and it says 0 or 3 chars left till 255. I then click save and the php gives me the length as being 261. Any ideas? Is it to do with special characters, bit sizes that js reads differently or misses out? Or is it to do with something else? Maybe its ill today!... :P Thanks, Stefan

    Read the article

  • Is hardware accelerated CSS3 in Safari 4 & 5 broken, or my CSS and JS?

    - by Dan Forys
    Hi all, I've created a somewhat silly site that shows you the expected weather forecast for any city in the World. On webkit based browsers, when the weather is sunny a sun with CSS3 animated rotated sunbeams appears. This works fine on Chrome. An example (sunny, at the moment) page is: http://willitraintoday.co.uk/iceland/reykjavik/ However, when viewed in Safari 4 or 5 on Mac Snow Leopard, when the sun appears the sky background appears over it. Weirder still, as the cloud containing the advert moves across the sky, it squashes the main text. When the cloud reaches the left edge, the text appears wider than normal and starts squashing down again. I've tried: - Disabling the CSS3 animation; it works fine in Safari - Juggling the z-index of various elements; to no avail Is there something up with my Javascript or CSS, or is the hardware accelerated snow leopard Safari broken in this case? It seems not to happen in Safari 4 on Leopard, but I don't have Leopard any more to test myself. Grateful for any opinions!

    Read the article

  • Please help clean this loop

    - by Alex Angelini
    I do not code much in Javascript, but I have the following snippet which IMHO looks horrendous and I have to do this nested iteration quite often in my code. Does anyone have a prettier/easier to read solution? function addBrowse(data) { var list = $('<ul></ul>') for(i = 0; i < data.list.length; i++) { var file = list.append('<li class="toLeft">' + data.list[i].name + '</li>') for(j = 0; j < data.list[i].children.length; j++) { var db = file.append('<li>' + data.list[i].children[j].name + '</li>') for(k = 0; k < data.list[i].children[j].children.length; k++) db.append('<li class="toRight">' + data.list[i].children[j].children[k].name + '</li>') } } $('#browse').append(list).show()} Here is a sample data element {"file":"","db":"","tbl":"","page":"browse","list":[ { "name":"/home/alex/GoSource/test1.txt", "children":[ { "name":"go", "children":[ { "name":"validation1", "children":[ ] } ] } ] }, { "name":"/home/alex/GoSource/test2.txt", "children":[ { "name":"go", "children":[ { "name":"validation2", "children":[ ] } ] } ] }, { "name":"/home/alex/GoSource/test3.txt", "children":[ { "name":"go", "children":[ { "name":"validation3", "children":[ ] } ] } ] }]} Thanks a lot

    Read the article

  • How to run setInterval() on multiple canvases simultaneously?

    - by Alex
    I have a page which has several <canvas> elements. I am passing the canvas ID and an array of data to a function which then grabs the canvas info and passes the data onto a draw() function which in turn processes the given data and draws the results onto the canvas. So far, so good. Example data arrays; $(function() { setup($("#canvas-1"), [[110,110,100], [180,180,50], [220,280,80]]); setup($("#canvas-2"), [[110,110,100], [180,180,50], [220,280,80]]); }); setup function; function setup(canvas, data) { ctx = canvas[0].getContext('2d'); var i = data.length; var dimensions = { w : canvas.innerWidth(), h : canvas.innerHeight() }; draw(dimensions, data, i); } This works perfectly. draw() runs and each canvas is populated. However - I need to animate the canvas. As soon as I replace line 8 of the above example; draw(dimensions, data, i); with setInterval( function() { draw(dimensions, data, i); }, 33 ); It stops working and only draws the last canvas (with the others remaining blank). I'm new to both javascript and canvas so sorry if this is an obvious one, still feeling my way around. Guidance in the right direction much appreciated! Thanks.

    Read the article

  • jQuery and IE not playing nice

    - by Neurofluxation
    Hello, I have this section of code: function createDownload() { var category, format, specification, download; $('#submitform').click(function() { category = $('#cate').val(); format = $('#form').val(); specification = $('#spec').val(); if (category == "NULL" || format == "NULL" || specification == "NULL") { alert("Please select all options."); return false; } else { download = "pdfs/"+specification+format+category+".pdf"; window.open(download); } }); } Now... In Internet Explorer it says there is an "Error on the page" - Message: 'return' statement outside of function and I have to click the button again. In Firefox, Chrome and Safari - I have to click the button twice to get the PDF to appear... (and no errors)... Now why could that be?! As per request - My Form declaration: <form method="post" action="javascript: return false;" onSubmit="createDownload();">

    Read the article

  • Sort latitude and longitude coordinates into clockwise quadrangle

    - by Dave Jarvis
    Problem Users can provide up to four latitude and longitude coordinates, in any order. They do so with Google Maps. Using Google's Polygon API (v3), the coordinates they select should highlight the selected area between the four coordinates. Solutions and Searches http://stackoverflow.com/questions/242404/sort-four-points-in-clockwise-order Graham's scan seems too complicated for four coordinates Sort the coordinates into two arrays (one by latitude, the other longitude) ... then? Question How do you sort the coordinates in (counter-)clockwise order, using JavaScript? Code Here is what I have so far: // Ensures the markers are sorted: NW, NE, SE, SW function sortMarkers() { var ns = markers.slice( 0 ); var ew = markers.slice( 0 ); ew.sort( function( a, b ) { if( a.lat() < b.lat() ) { return -1; } else if( a.lat() > b.lat() ) { return 1; } return 0; }); ns.sort( function( a, b ) { if( a.lng() < b.lng() ) { return -1; } else if( a.lng() > b.lng() ) { return 1; } return 0; }); } What is a better approach? Thank you.

    Read the article

  • key-words highlight in <textarea> (again)

    - by Halst
    Wait, I know! I know that this "syntax highlight in textarea"-question was raised like a million times on stackoverflow! But, please, listen. offtopic: I'm not a web-developer, and technically I'm not a programmer at all. I study mechatronics and deal mostly with control-engineering and digital-hardware. And I'm so pissed off that whenever I want to share some application (that would be helpful in my field) and embed it into the web, I need to know such a crazy amount of technologies, like html, css, javascript, flash, etc.. that takes time, which I could have been spending for the benefit of my own field. Right now I'm playing with hardware-description-languages and I'm writing some Python-libraries to convert one HDL into another. And I wanted to embed such feature on the web: http://xhdl2vhdl.appspot.com/ I wanted to implement some basic syntax highlighting (only keywords highlighting will be enough) so that the code could be readable. But the whole idea highlighting something in textarea is not trivial at all. The other difficulty is that the languages I work with are rare, and there are no out-of-box solutions for them. I tried to dig into these solutions, but they are very complicated for me: http://www.nicolarizzo.com/gamesroom/experimental/CodeEditor.html http://marijn.haverbeke.nl/codemirror/jstest.html and there is no clear descriptions how to use them (for my level of knowledge of web-development). So, is there a simple solution, just to highlight a bunch of key-words in textarea or perform something equivalent? Thank you.

    Read the article

  • Pre-populate iPhone Safari SQLite DB

    - by Matt Rogish
    I'm working with a PhoneGap app that uses Safari local storage (SQlite DB) via Javascript: http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html On first load, the app creates the database, tables, and populates the data via a series of INSERT statements. If the user closes the app while this processing is happening, then my app database is left in an inconsistent state. What I prefer to do is deploy the SQLite DB as part of my iTunes App packaging so nothing must be populated at app cold start. However, I'm not sure if that is possible -- all of the google hits for this topic that I can find are referring to the core-data provided SQLite which is not what we're using... If it's not possible, could I wrap the entire thing in a transaction and keep re-trying it when the app is restarted? Failing that, I guess I can create a simple table with one boolean column "is_app_db_loaded?" and set it to true after I've processed all my inserts. But that's really gross... Ideas? Thanks!!

    Read the article

  • Can not make the settings from the sidebar gadget get applied

    - by Daniel
    Hey guys, OK, I am not an expert at Sidebar Gadgets, but I have this project I will have to make for school. Have tried to solve it on my own but I got really stuck. I will have to use the Cirip API (Cirip.ro being a kind of Twitter), and for the use of the API I have to input the username. I do so by means of the Settings, but when closing the settings there is no effect. Here is the code, but it's pretty messy. I am not a web programmer so javascript/html is new to me. http://www.box.net/shared/7yogevhzrr Thank you for your remark, Andy. From gadget.js function setUserName(userNameSet){ userName = userNameSet; } function getUserName(){ return userName; } function settingsClosed(event) { if(event.closeAction == event.Action.commit) { var user = System.Gadget.Settings.read("userName"); if(user != "") { setUserName(user); } } From settings.js document.onreadystatechange = function DoInit() { if(document.readyState=="complete") { var user = System.Gadget.Settings.read("userName"); if(user != "") { userBox.value = user; } } } // -------------------------------------------------------------------- // Handle the Settings dialog closed event. // event = System.Gadget.Settings.ClosingEvent argument. // -------------------------------------------------------------------- System.Gadget.onSettingsClosing = function(event) { if (event.closeAction == event.Action.commit) { var user = userBox.value; if(user != "") { System.Gadget.Settings.write("userName", user); } event.cancel = false; } }

    Read the article

  • I would like to interactively detect when an ActiveX component has been installed, and asynchronousl

    - by Brian Stinar
    Hello, I am working on a website, and I would like to refresh a portion of the page after an ActiveX component has been installed. I have a general idea of how to do this with polling, which I am working on getting going : function detectComponentThenSleep(){ try{ // Call what I want ActiveX for, if the method is available, or // ActiveXComponent.object == null --- test for existance document.getElementById("ActiveXComponent").someMethod(); } catch{ // Try again, if the method is not available setTimeout(detectComponentThenSleep, 100); } } However, what I would REALLY like to do is something like this: ActiveXObject.addListener("onInstall", myfunction); I don't actually have the source for the ActiveX component, but I have complete control of the page I am hosting it on. I would like to use JavaScript, if possible, to accomplish this. So, my question is 1.) will this actually work with the polling method? and 2.) Is there an interrupt/listener like way of doing this? I am sure I am missing something with connecting the dots here, I can already detect if the component is present, but I am having trouble doing this asynchronously. Thank you very much for your time and help, -Brian J. Stinar-

    Read the article

  • need code for search another character

    - by klox
    hi,all..i have this code: var str = "KD-R435MUN2D"; var hasUD; var patt1 = str.match(/U/gi); var patt2 = str.match(/D/gi); if (patt1 && patt2) { hasUD = 'UD'; } else { hasUD = false; } document.write(hasUD); how to modify this code if i want search JD from var str="KD-S35JWD"..i try this but doesn't work: <script type="text/javascript"> var str = "KD-R435jwd"; var hasUD; var hasJD; var patt1 = str.match(/U/gi); var patt2 = str.match(/J/gi); var patt3 = str.match(/D/gi); if (patt1 && patt3) { hasUD = 'UD'; document.write(hasUD); } elseif (patt2 && patt3) { hasJD = 'JD'; document.write(hasJD); } </script>

    Read the article

  • Hidden youtube player loses its methods

    - by zaius
    I'm controlling a embedded youtube chromeless player with javascript, and I want to hide it occasionally by setting display: none. However, when I show the player again, it loses its youtube methods. For example: <script> swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=player", "player", "425", "356", "8", null, null, {allowScriptAccess: "always"}, {id: 'player'} ); var player = null; function onYouTubePlayerReady(playerId) { player = document.getElementById(playerId); player.addEventListener('onStateChange', 'playerStateChanged'); } function hidePlayer() { player.pauseVideo(); player.style.display = 'none'; } function showPlayer() { player.style.display = 'block'; player.playVideo(); } </script> <a href="#" onClick="hidePlayer();">hide</a> <a href="#" onClick="showPlayer();">show</a> <div id="player"></div> Calling hidePlayer followed by showPlayer gives this error on the playVideo call: Uncaught TypeError: Object #<an HTMLObjectElement> has no method 'playVideo' The only solution I can find is to use visibility: hidden, but that is messing with my page layout. Any other solutions out there?

    Read the article

  • W3C error doc error? Output tag browser support.

    - by ThomasReggi
    Was looking at the reference page here : http://www.w3.org/TR/html5/offline.html I copied and pasted the code on my server here in separate files. All of the pages are linked correctly but the clock won't show. Just to double check, it wasn't my "server config" I put it on jsfiddle.net here: http://jsfiddle.net/reggi/Dy8PU/. Fails: MAC / FIREFOX 3.6.13 Wins: MAC / FIREFOX 4.0.b8 Is this dummy example code? <!-- clock.html --> <!DOCTYPE HTML> <html> <head> <title>Clock</title> <script src="clock.js"></script> <link rel="stylesheet" href="clock.css"> </head> <body> <p>The time is: <output id="clock"></output></p> </body> </html> /* clock.css */ output { font: 2em sans-serif; } /* clock.js */ setTimeout(function () { document.getElementById('clock').value = new Date(); }, 1000); UPDATE: The W3C code above works on only the NEWEST Beta releases of certain browsers Below are some viable current javascript workarounds

    Read the article

  • Normals per index?

    - by WarrenFaith
    I have a pyramid which has 5 vertex and 18 indices. As I want to add normals to each face I just found solution for normals for each vertex. That means I can't use indices to define my pyramid I need to have 18 vertex (and 3 times the same vertex for the same point in space). There must be a solution to use normals not on vertex base but on index base. Some code (javascript): var vertices = [ -half, -half, half, // 0 front left half, -half, half, // 1 front right half, -half, -half, // 2 back right -half, -half, -half, // 3 back left 0.0, Math.sqrt((size * size) - (2 * (half * half))) - half, 0.0 // 4 top ]; var vertexNormals = [ // front face normaleFront[0], normaleFront[1], normaleFront[2], normaleFront[0], normaleFront[1], normaleFront[2], normaleFront[0], normaleFront[1], normaleFront[2], // back face normaleBack[0], normaleBack[1], normaleBack[2], normaleBack[0], normaleBack[1], normaleBack[2], normaleBack[0], normaleBack[1], normaleBack[2], // left face normaleLeft[0], normaleLeft[1], normaleLeft[2], normaleLeft[0], normaleLeft[1], normaleLeft[2], normaleLeft[0], normaleLeft[1], normaleLeft[2], // right face normaleRight[0], normaleRight[1], normaleRight[2], normaleRight[0], normaleRight[1], normaleRight[2], normaleRight[0], normaleRight[1], normaleRight[2], // bottom face 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, 0.0, -1.0, 0.0, ]; var pyramidVertexIndices = [ 0, 1, 4, // Front face 2, 3, 4, // Back face 3, 0, 4, // Left face 1, 2, 4, // Right face 0, 1, 2, 2, 3, 0, // Bottom face ];

    Read the article

  • Difference in clientX and clientY when going out of the browser on ie/ff

    - by Py
    I just ran into a little problem with clientX and clientY. I put a little event to detect if the mouse goes out of the window and to know where it exits. And there come the trouble, it works fine with firefox, but only sends -1 as an answer in IE. Does someone know if there is a way to solve easily that problem and that without using a framework? A little bit of code to reproduce that: <html> <head> <script type="text/javascript"> document.onmouseout=function(e){ if (!e) var e = window.event; var relTarg = e.relatedTarget || e.toElement; if (!relTarg){ document.getElementById('result1').innerHTML="e.clientY:"+e.clientY+" e.clientX:"+e.clientX; } }; </script> </head> <body> <div id="result1">Not Yet</div> </body> </html> the results if I exit through the left of the window are: e.clientY:302 e.clientX:-130 on firefox e.clientY:-1 e.clientX:-1 on ie. Thanks in advance.

    Read the article

  • XMLHttpRequst return null on Chrome

    - by BoltBait
    I have the following code that works fine in IE: <HTML> <BODY> <script language="JavaScript"> text=""; req = new XMLHttpRequest(); if (req) { req.onreadystatechange = processStateChange; req.open("GET", "http://www.boltbait.com", true); req.send(); } function processStateChange() { // is the data ready for use? if (req.readyState == 4) { // process my data alert(req.status); alert(req.responseText); } } </script> </BODY> </HTML> In IE, the first alert returns 200, the second returns the web page. However, in Chrome the first alert returns 0 and the second returns the empty string. My intent is to grab a web page into a string for processing. If I'm not doing this right, how should I be doing this? Thanks.

    Read the article

  • colorbox not displaying first caption from flickr gallery integration

    - by Mark
    I am pulling small thumbnails into my page from the flickr API, and using Colorbox to display larger thumbnails and captions from the title attribute. Using the API with C#. However, on the first instance of opening colorbox it does not display the caption from the anchors title attribute. If you click next or previous then it appears. The actual caption is physically there in the source code, just not getting put into the colorbox window. Demo here, if you click on a thumbnail you will see there is no caption, click next then prev and it will appear. Here's the code: <script type="text/javascript"> $(function() { $("a[rel='group']").colorbox({ opacity: 0.75 }); }); </script> <a href='http://farm6.static.flickr.com/5015/5511378425_e63d4a62f7.jpg' title='Little Hermit (Peter Dunn)' rel='group' class='tooltip'> <img src='http://farm6.static.flickr.com/5015/5511378425_e63d4a62f7_s.jpg' alt='Little Hermit (Peter Dunn)' /> </a> If i view source, the title attribute is populated with the caption, but if i ook in firebug it is not in the colorbox code. Any help on this would be great Ive ran out of ideas!

    Read the article

  • How to force positioned elements to stay withing viewable browser area?

    - by jessegavin
    I have a script which inserts "popup" elements into the DOM. It sets their top and left css properties relative to mouse coordinates on a click event. It works great except that the height of these "popup" elements are variable and some of them extend beyond the viewable area of the browser window. I would like to avoid this. Here's what I have so far <script type="text/javascript"> $(function () { $("area").click(function (e) { e.preventDefault(); var offset = $(this).offset(); var relativeX = e.pageX - offset.left; var relativeY = e.pageY - offset.top; // 'responseText' is the "popup" HTML fragment $.get($(this).attr("href"), function (responseText) { $(responseText).css({ top: relativeY, left: relativeX }).appendTo("#territories"); // Need to be able to determine // viewable area width and height // so that I can check if the "popup" // extends beyond. $(".popup .close").click(function () { $(this).closest(".popup").remove(); }); }); }); }); </script>

    Read the article

  • Most efficient method of detecting/monitoring DOM changes?

    - by Graza
    I need an efficient mechanism for detecting changes to the DOM. Preferably cross-browser, but if there's any efficient means which are not cross browser, I can implement these with a fail-safe cross browser method. In particular, I need to detect changes that would affect the text on a page, so any new, removed or modified elements, or changes to inner text (innerHTML) would be required. I don't have control over the changes being made (they could be due to 3rd party javascript includes, etc), so it can't be approached from this angle - I need to "monitor" for changes somehow. Currently I've implemented a "quick'n'dirty" method which checks body.innerHTML.length at intervals. This won't of course detect changes which result in the same length being returned, but in this case is "good enough" - the chances of this happening are extremely slim, and in this project, failing to detect a change won't result in lost data. The problem with body.innerHTML.length is that it's expensive. It can take between 1 and 5 milliseconds on a fast browser, and this can bog things down a lot - I'm also dealing with a large-ish number of iframes and it all adds up. I'm pretty sure the expensiveness of doing this is because the innerHTML text is not stored statically by browsers, and needs to be calculated from the DOM every time it is read. The types of answers I am looking for are anything from the "precise" (for example event) to the "good enough" - perhaps something as "quick'n'dirty" as the innerHTML.length method, but that executes faster.

    Read the article

  • HTML5 audio object doesn't play on iPad (when called from a setTimeout)

    - by Dan Halliday
    I have a page with a hidden <audio> object which is being started and stopped using a custom button via javascript. (The reason being I want to customise the button, and that drawing an audio player seems to destroy rendering performance on iPad anyway). A simplified example (in coffeescript): // Works fine on all browsers constructor: (@_button, @_audio) -> @_button.on 'click', @_play // Bind button's click event with jQuery _play: (e) => @_audio[0].play() // Call play() on audio element The audio plays fine when triggered from a function bound to a click event, but I actually want an animation to complete before the file plays so I put .play() inside a setTimeout. However I just can't get this to work: // Will not play on iPad constructor: (@_button, @_audio) -> @_button.on 'click', @_play // Bind button's click event with jQuery _play: (e) => setTimeout (=> // Declare a 300ms timeout @_audio[0].play() // Call play() on audio element ), 300 I've checked that @_audio (this._audio) is in scope and that its play() method exists. Why doesn't this work on iPad?

    Read the article

  • mootools get data of child element of li?

    - by sea_1987
    Hi there, I am trying to get some information of a child element of an li using mootools, essentially my html looks like this, <li><a href="/home" id="home" class="nav-link">Home</a></li> I am wanting to be able get the id, class and href of the a tag using mootools, so far my javascript looks similar to this, $$('.rate').each(function(element,i){ element.addEvent('click', function(){ var myStyles = ['nostar', 'onestar', 'twostar', 'threestar', 'fourstar', 'fivestar', 'sixstar', 'sevenstar', 'eightstar', 'ninestar', 'tenstar']; myStyles.each(function(myStyle){ if(element.getParent().hasClass(myStyle)){ element.getParent().removeClass(myStyle) } }); myStyles.each(function(myStyle, index){ if(index == element.id){ element.getParent().toggleClass(myStyle); var req = new Request({ method:'post', url: '/recipes/save', data: {'rating' : element.id}, onRequest: function(){ alert('Request made. Please wait...');}, onComplete:function(response){ alert('Response:' + response);} }).send(); alert('Clicked '+element.id); alert(element.getChildren().get('href'); } }); }); }); The final alert in the script is my attempt to the child of the li(element) and its href.

    Read the article

< Previous Page | 400 401 402 403 404 405 406 407 408 409 410 411  | Next Page >