Search Results

Search found 29575 results on 1183 pages for 'dynamic javascript'.

Page 663/1183 | < Previous Page | 659 660 661 662 663 664 665 666 667 668 669 670  | Next Page >

  • Tips on how to refactor this unwieldy upvote/downvote code

    - by bob_cobb
    Basically this code is for an upvote/downvote system and I'm basically Incrementing the count by 1 when voting up Decrementing the count by 1 when voting down If the number of downvotes upvotes, we'll assume it's a negative score, so the count stays 0 Reverting the count back to what it originally was when clicking upvote twice or downvote twice Never go below 0 (by showing negative numbers); Basically it's the same scoring scheme reddit uses, and I tried to get some ideas from the source which was minified and kind of hard to grok: a.fn.vote = function(b, c, e, j) { if (reddit.logged && a(this).hasClass("arrow")) { var k = a(this).hasClass("up") ? 1 : a(this).hasClass("down") ? -1 : 0, v = a(this).all_things_by_id(), p = v.children().not(".child").find(".arrow"), q = k == 1 ? "up" : "upmod"; p.filter("." + q).removeClass(q).addClass(k == 1 ? "upmod" : "up"); q = k == -1 ? "down" : "downmod"; p.filter("." + q).removeClass(q).addClass(k == -1 ? "downmod" : "down"); reddit.logged && (v.each(function() { var b = a(this).find(".entry:first, .midcol:first"); k > 0 ? b.addClass("likes").removeClass("dislikes unvoted") : k < 0 ? b.addClass("dislikes").removeClass("likes unvoted") : b.addClass("unvoted").removeClass("likes dislikes") }), a.defined(j) || (j = v.filter(":first").thing_id(), b += e ? "" : "-" + j, a.request("vote", {id: j,dir: k,vh: b}))); c && c(v, k) } }; I'm trying to look for a pattern, but there are a bunch of edge cases that I've been adding in, and it's still a little off. My code (and fiddle): $(function() { var down = $('.vote-down'); var up = $('.vote-up'); var direction = up.add(down); var largeCount = $('#js-large-count'); var totalUp = $('#js-total-up'); var totalDown = $('#js-total-down'); var totalUpCount = parseInt(totalUp.text(), 10); var totalDownCount = parseInt(totalDown.text(), 10); var castVote = function(submissionId, voteType) { /* var postURL = '/vote'; $.post(postURL, { submissionId : submissionId, voteType : voteType } , function (data){ if (data.response === 'success') { totalDown.text(data.downvotes); totalUp.text(data.upvotes); } }, 'json'); */ alert('voted!'); }; $(direction).on('click', direction, function () { // The submission ID var $that = $(this), submissionId = $that.attr('id'), voteType = $that.attr('dir'), // what direction was voted? [up or down] isDown = $that.hasClass('down'), isUp = $that.hasClass('up'), curVotes = parseInt($that.parent().find('div.count').text(), 10); // current vote castVote(submissionId, voteType); // Voted up on submission if (voteType === 'up') { var alreadyVotedUp = $that.hasClass('likes'), upCount = $that.next('div.count'), dislikes = $that.nextAll('a').first(); // next anchor attr if (alreadyVotedUp) { // Clicked the up arrow and previously voted up $that.toggleClass('likes up'); if (totalUpCount > totalDownCount) { upCount.text(curVotes - 1); largeCount.text(curVotes - 1); } else { upCount.text(0); largeCount.text(0); } upCount.css('color', '#555').hide().fadeIn(); largeCount.hide().fadeIn(); } else if (dislikes.hasClass('dislikes')) { // Voted down now are voting up if (totalDownCount > totalUpCount) { upCount.text(0); largeCount.text(0); } else if (totalUpCount > totalDownCount) { console.log(totalDownCount); console.log(totalUpCount); if (totalDownCount === 0) { upCount.text(curVotes + 1); largeCount.text(curVotes + 1); } else { upCount.text(curVotes + 2); largeCount.text(curVotes + 2); } } else { upCount.text(curVotes + 1); largeCount.text(curVotes + 1); } dislikes.toggleClass('down dislikes'); upCount.css('color', '#296394').hide().fadeIn(200); largeCount.hide().fadeIn(); } else { if (totalDownCount > totalUpCount) { upCount.text(0); largeCount.text(0); } else { // They clicked the up arrow and haven't voted up yet upCount.text(curVotes + 1); largeCount.text(curVotes + 1).hide().fadeIn(200); upCount.css('color', '#296394').hide().fadeIn(200); } } // Change arrow to dark blue if (isUp) { $that.toggleClass('up likes'); } } // Voted down on submission if (voteType === 'down') { var alreadyVotedDown = $that.hasClass('dislikes'), downCount = $that.prev('div.count'); // Get previous anchor attribute var likes = $that.prevAll('a').first(); if (alreadyVotedDown) { if (curVotes === 0) { if (totalDownCount > totalUp) { downCount.text(curVotes); largeCount.text(curVotes); } else { if (totalUpCount < totalDownCount || totalUpCount == totalDownCount) { downCount.text(0); largeCount.text(0); } else { downCount.text((totalUpCount - totalUpCount) + 1); largeCount.text((totalUpCount - totalUpCount) + 1); } } } else { downCount.text(curVotes + 1); largeCount.text(curVotes + 1); } $that.toggleClass('down dislikes'); downCount.css('color', '#555').hide().fadeIn(200); largeCount.hide().fadeIn(); } else if (likes.hasClass('likes')) { // They voted up from 0, and now are voting down if (curVotes <= 1) { downCount.text(0); largeCount.text(0); } else { // They voted up, now they are voting down (from a number > 0) downCount.text(curVotes - 2); largeCount.text(curVotes - 2); } likes.toggleClass('up likes'); downCount.css('color', '#ba2a2a').hide().fadeIn(200); largeCount.hide().fadeIn(200); } else { if (curVotes > 0) { downCount.text(curVotes - 1); largeCount.text(curVotes - 1); } else { downCount.text(curVotes); largeCount.text(curVotes); } downCount.css('color', '#ba2a2a').hide().fadeIn(200); largeCount.hide().fadeIn(200); } // Change the arrow to red if (isDown) { $that.toggleClass('down dislikes'); } } return false; }); });? Pretty convoluted, right? Is there a way to do something similar but in about 1/3 of the code I've written? After attempting to re-write it, I find myself doing the same thing so I just gave up halfway through and decided to ask for some help (fiddle of most recent).

    Read the article

  • Disallow typing of few of characters e.g.'<', '>' in all input textboxes using jquery

    - by Ismail
    How do I achieve this:- When user types character like 'abcd' and then '>'(an invalid character for my application), I want to set the text back to 'abcd'. Better if we can cancel the input itself as we do in winforms application. This should happen when user is typing and not on a click of button. I want this to be applied on all text boxes in my web page. This will be easy if the solution is jQuery based. May be something which will start like this. $("input[type='text']")

    Read the article

  • How to add on to an existing onclick event?

    - by Corey Sarnia
    I'm currently writing a Greasemonkey script for a page, so I can't modify the script myself. There is a form submit button on the page. When you click this button, it executes some fancy AJAX calls and such to update the page and do serverside things. What I'm trying to is basically set a "lastClick" value when the button is clicked. I want to add the code GM_setValue("lastClicked", (new Date()).getTime().toString()) to store the last time the button was clicked (for future uses of the script, it will actually do something with this date). How exactly can I accomplish this?

    Read the article

  • How to get final destination URL from AJAX?

    - by Maurice Lam
    When I do an XMLHttpRequest, I always get redirected automatically to the URL (presumably by the headers of the response). For example, if I query "http://www.stackoverflow.com" I will be redirected to "http://stackoverflow.com". How can I get that final URL? (http://stackoverflow.com/ in the example) I checked in the response headers but I cannot seem to find it. (I just used the GET/POST method not HEAD).

    Read the article

  • Concatenate an each loop inside another

    - by Lothar
    I want to to concatenate the results of a jquery each loop inside of another but am not getting the results I expect. $.each(data, function () { counter++; var i = 0; var singlebar; var that = this; tableRow = '<tr>' + '<td>' + this.foo + '</td>' + $.each(this.bar, function(){ singlebar = '<td>' + that.bar[i].baz + '</td>'; tableRow + singlebar; }); '</tr>'; return tableRow; }); The portion inside the nested each does not get added to the string that is returned. I can console.log(singlebar) and get the expected results in the console but I cannot concatenate those results inside the primary each loop. I have also tried: $.each(this.bar, function(){ tableRow += '<td>' + that.bar[i].baz + '</td>'; }); Which also does not add the desired content. How do I iterate over this nested data and add it in the midst of the table that the primary each statement is building?

    Read the article

  • FireFox Toolbar Open Window in new Tab

    - by Mark
    Hi all, I have a Toolbarbutton <toolbarbutton context="TabMenue" id="esbTb_rss_reader" label="News" type="menu"> with a Context menue which comes up when the button is right clickt <menupopup id="TabMenue" > <menuitem label="New Tab" oncommand="esbTb_loadURLNewTab()"/> </menupopup> so this function should open the new window in a new tab function esbTb_loadURLNewTab() { window.open(ClickUrl,'name'); } I don't get it working that the new Window is showing up in a new tab it always opens a new firefox window. I tried also like described in this article to set the browser.link.open_newwindow and browser.link.open_newwindow.restriction preferences but that doesn't bringt anything. And I tried it with all Target attributes which came in my mind. So I'm grateful for any hints, tips what ever this is driving me crazy...

    Read the article

  • Submit form if ajax validator returns true using jquery

    - by Anthony
    I am not sure where I'm going wrong. The idea is that before the form is submitted, one of the input fields is sent to a server-side validator via ajax. If the response is 1, the input is valid and the form should be submitted. If the response is 0, the form should not be submitted. The issue is that I can't figure out how to set a variable within the ajax request function that will prevent the form from being submitted. This is what I have: $("#form").submit(function() { var valid= false; var input = $("#input").val(); $.ajax({ type: "POST", url: "validator.php", data: "input=" + input, success: function(msg){ valid = (msg == 1) ? true : false; if(!valid) { $("#valid_input").html("Please enter valid info"); } else { $("#valid_input").html(""); } } }); return valid; });

    Read the article

  • Uncaught syntax error: Adding <li> elements to an <ul>

    - by ThePagan
    I keep getting an uncaught syntex error which I know usually means your code has a missing closing something. I keep failing to see what it is that I am missing. The idea of the function is that it extracts the a links ID and Text content and add's it to an un-ordered list. The links have a class of 'ingredient_add' and the unordered list has an ID of 'ingredientsAdded'. I can't see what I've missed here. $(document).ready(function() { $('.ingredient_add').click(function() { event.preventDefault(); var id = this.id; var value = this.text(); $('#ingredientsAdded').append("<li id='"+id+"'>"+value+"</li>"); }); //end add to list }); // end document ready()

    Read the article

  • getting the names of elements in JS/jQuery

    - by Mala
    I have some checkbox inputs like so: <input type="checkbox" name="1" class="filter"/> <input type="checkbox" name="2" class="filter"/> ...etc... I'm trying to write a function where any time a checkbox is selected, it generates a string with all the names concatenated. Here's what I have so far: $('.filter').click(function(event){ var filters = $('.filter').toArray(); var fstr = ""; for (f in filters) { fstr = fstr+","+f.name; } alert(fstr); }); The names keep coming up as 'undefined', though (i.e. the alert returns ,undefined,undefined,undefined,undefined,undefined,undefined). How do I access the names?

    Read the article

  • How can I hide this overlay element intelligently?

    - by inkedmn
    The site I'm working on has a collection of navigation elements across the top ("Products", "Company", etc.). When you mouse over the Products link, an overlay appears that shows a list of products with links to each. There's a small link at the top of the container that, when clicked, closes the container. All of this works as advertised. The client has asked that, once a user's mouse pointer is a sufficient distance from the overlay element, the overlay element would close (without them having to click the 'close' link). This element appears on multiple pages that have disparate content, so I'm afraid it won't be as simple as adding a mouseover listener to another single element within the page and have it work everywhere. My question, I suppose, is this: is there a relatively easy way to know when the mouse cursor is x pixels away from this container and trigger an event when this occurs? My other thought is that I could just find several elements on the page that fit this criteria and add mouseover listeners to each, but I'm assuming there's a more elegant way of handling this. Thanks in advance - and please let me know if more detail is needed.

    Read the article

  • How to call a prototyped function from within the prototyped "class"?

    - by Jorge
    function FakeClass(){}; FakeClass.prototype.someMethod = function(){}; FakeClass.prototype.otherMethod = function(){ //need to call someMethod() here. } I need to call someMethod from otherMethod, but apparently it doesn't work. If i build it as a single function (not prototyped), i can call it, but calling a prototyped does not work. How can i do it as if i was treating the function just like a class method?

    Read the article

  • JS variable scope missunderstanding

    - by meo
    I have a little problem: slideHelpers.total = 4 for (i=1;i <= slideHelpers.total; i++) { $('<a href="#">' + i + '</a>').bind('click', function(){ alert('go to the ' + i + ' slide')}).appendTo('.slideaccess') } the alert gives out 5 what is logic, because when the function click triggers i is actually 5. But i would like to have the same i as in my <a> tag. What is the best way to handle this? I could put i in the data() of the <a> tag for example but i am sure there is a easier way.

    Read the article

  • hide inputs value when input is hidden

    - by toingbou
    Hello, im using this function to hide some inputs from a form when a value selected in select tag. this is the function: function showEntry(obj,optionValue){ //hide all entry selections onchange document.getElementById("group1").style.display="none"; document.getElementById("group2").style.display="none"; if(obj.value=="group1") { document.getElementById('group1').style.display="inline"; } else if(obj.value=="group2") { document.getElementById('group2').style.display="inline"; } } and this is the form: <select class="textinput" name="function_title" onchange="showEntry(this,this.value);"> <option value=""> </option> <option value="group1" >group1</option> <option value="group2" >group2</option> </select> <span id="group1" style="display:none;"> <input class="textinput" type="text" id="input1" name="input1" value="100"/> <input class="textinput" type="text" id="input2" name="input2" value="50"/> </span> <span id="group2" style="display:none;"> <input class="textinput" type="text" id="input3" name="input3" value="60"/> <input class="textinput" type="text" id="input4" name="input4" value="45"/> </span> All i want is to hide the hidden inputs value when this group of inputs are hidden. Something like that: <input class="textinput" type="text" id="input3" name="input3" value="if(obj.value!="group2") { print(60); }"/> Is that right?

    Read the article

  • Calling Multiple functions simultaneously

    - by Noob
    I'm trying to call two different functions for two different HTML elements at the same time, but the second function isn't being read at all. I'm also trying to use the id to specify which corresponding elements to grab data from. Here's what I have: function changeImage(id) { var s = document.getElementById('showcase'); var simg = s.getElementsByTagName('img'); var slen = simg.length; for(i=0; i < slen; i++) { simg[i].style.display = 'none'; } $('#' + id).fadeIn('slow', 0); function createComment(jim) { //alert('hello?'); var d = document.getElementById('description'); var dh = document.getElementsByTagName('p'); var dlen = dh.length; //alert(dh); for(i=0; i < dlen; i++) { alert(dh); dh[i].style.display = 'none'; } $('#' + jim).fadeIn('slow', 0); }

    Read the article

  • How to access a method of a closure's parent object?

    - by Bytecode Ninja
    I have defined a class named MyClass and I have defined two methods myMethod1 and myMethod2 for it: function MyClass() {} MyClass.prototype.myMethod1 = function() {...}; MyClass.prototype.myMethod2 = function() {...}; Inside myMethod1, I use jQuery and there's a callback closure defined there: MyClass.prototype.myMethod2 = function() { $.jQuery({success: function(data) { this.myMethod2(); }, ...}); } Now the problem is that this no longer is referring to MyClass. The question is how can I refer to it? At the moment I have assigned it to a variable named thisObj and access it this way: MyClass.prototype.myMethod2 = function() { var thisObj = this; $.jQuery({success: function(data) { thisObj.myMethod2(); }, ...}); } Is there a better way to access MyClass.this from the closure nested in myMethod2? Thanks in advance.

    Read the article

  • Jquery Dropdown queue buildup problem

    - by Sarfraz
    Hello, I have created a drop down with JQuery that can be seen here by clicking the Preview button on top: http://jsbin.com/ubire3/edit It works fine except for one problem. When i hover over the main hover links (blue ones) quickly eg going horizontally quickly hovering each top menu, the some submenus don't close. How do i make it so that even if i hover fast over them all other submenus are closed? Thanks.

    Read the article

  • How to calculate a latlng on google map ceartain distance away from another?

    - by Rene Saarsoo
    To draw a circle on map I have a center GLatLng (A) and a radius (r) in meters. Here's a diagram: ----------- --/ \-- -/ \- / \ / \ / r \ | *-------------* \ A / B \ / \ / -\ /- --\ /-- ----------- How to calculate the GLatLng at position B? Assuming that r is parallel to the equator. Getting the radius when A and B is given is trivial using the GLatLng.distanceFrom() method - but doing it the other way around not so. Seems that I need to do some heavier math.

    Read the article

  • "Permission denied" with Internet Explorer and jQuery

    - by rallex
    I try to do an AJAX call with jQuery and $.post in Internet Explorer, but all I get is an error saying "Permission denied". The problem is kinda weird since it occurs only when I access a page after I was on any other page. For instance I type the URL in the adress line and let IE load the page. Then I click on a button so the script should start loading JSON data. (The script providing the data lies on the same server and I access it with a relative URL, so using a different domain is not the problem here. Even tried to use a absolute URL with the same host part.) But when I refresh the page then and try it again it works! Same thing when I come to that page from another page. At first nothing works, but when I click "refresh" everything is fine. IE gives me the error message "Permission denied" while in every other browser I don't notice this behaviour. Since I have tried many things and still cannot imagine where the problem lies I'd like to ask you what you think the problem might be?

    Read the article

< Previous Page | 659 660 661 662 663 664 665 666 667 668 669 670  | Next Page >