JQuery :: Dynamic CSS Padding Based On Element Width?
Oct 21, 2010
I'm currently working on an IE7 CSS fix for a rather large form. Long story short, I have each input wrapped in a div, all in the same class. What I need, is to have each div define a padding-right value that is equal to the width of that div. I'm fairly new to jQuery, so I'm in need of some help with the syntax. Here's what I currently have, but it keeps printing a padding-right value of "0".
$('.form_label').each(function(){
$(this).css('padding-right', function() {
var w = $(this).width();
I am trying to setup a javascript function that sets a div's width based on the combined width of the li's with the name "navItem". The problems I have been running into when trying to define the width of the li's is that they do not have a width defined in css. Can anyone help me out with this? The javascript function setWindow is suppose to show the div loginWindow and set the width of it.
Is the next jQuery code the best way to decrease an elements width?[code]I tried using the next code:[code]but that's not working, also not with '-20'.Maybe it's an idea to add this functionality? It's is already used in the .animate() function for changing the position of an element.
how to populate a dropdown based on Another dropdown selection. This all should be a dynamic. Eg: I have two text boxes one is TechID and other is JOB ID. When I start typing Tech ID it suggests me the list of IDs which start with the input string i have put in Tech textbox. When i select the Tech ID the jobs associated to that Tech ID should be displayed in JOB ID text box as a dropdown list.
Adjust the CSS margins of the BODY element with the first slider. The yellow P (paragraph) element resizes to fit its smaller containing block, as I would expect.
Then, adjust the CSS border or padding of the BODY element with the second and third sliders. The P element does not resize, though its origin changes. Instead, it overflows its containing block.
Finally, adjust the margins again. The P element snaps back into its containing block.
As you can see from the source, this is jQuery 1.6.4 and jQueryUI 1.8 pulled from googleapis.com.
I'm trying to set a width of a span class based on the width of the image inside of it. I've got a container that will also have a bunch of images... some of them will have captions and will be wrapped in a class "caption"... some will not be wrapped in the "caption" class. I'm trying to loop through the container... find all the "caption" classes... and then set the width of the caption class based on the width of the image inside of it. Here's what a basic image with a caption will look like:
I'm able to look through the containing div and locate all the images and then get their width using the following:
// Find all images in the overview section var overviewImgs = $(".overview-content").find("img"); // Get the width of each image in the overview section
[code]....
I can't figure out how to loop through and find all the instances of "caption" and then set the width of the "caption" class based on the width of the image inside of it.I can find all the "caption" classes... and I can find all the images and get the image widths... but I'm not sure how to combine these two so I am only finding the images inside of the "caption" class and then setting the "caption" class width based on the width of the image inside of it. The images are added by a separate content developer and can be any size. Not all images will have captions... only the ones wrapped in the "caption" class.
I spent way too long writing a buggy and bloated jQuery script that is supposed to allow the sub-menus of a drop-down menu be a dynamic width (i.e. the submenu assumes the width of the widest list item). I am probably missing some base CSS property, surely it cant be this hard? My script I wrote is:
// drop down menu var setWidth = 2; var nextSetWidth = 0; $jQ('.nav li').hover(function(){ var thisList = $jQ(this).parent('ul'); if (thisList.parent('li').length > 0) { thisList.children('li').each(function(){ var thisSpan = $jQ(this).find('span'); var spanWidth = thisSpan.width(); if (spanWidth > setWidth) { setWidth = spanWidth; }}); setWidth = setWidth + 16; thisList.css('width', setWidth); }
var nextList = $jQ(this).find('.nav:eq(0)'); if (nextList.parent('li').parent('ul').parent('li').length == 0){ nextList.css('left', '2px'); }
nextList.children('li').each(function(){ var nextThisSpan = $jQ(this).find('span'); var nextSpanWidth = nextThisSpan.width(); if (nextSpanWidth > nextSetWidth) { nextSetWidth = nextSpanWidth; }});
nextSetWidth = nextSetWidth + 16; nextList.css('width', nextSetWidth); if (nextList.parent('li').parent('ul').parent('li').length > 0){ nextList.css('left', setWidth); }}, function(){ $jQ(this).find('.nav:eq(0)').css('left','9999em'); setWidth = 2; nextSetWidth = 0; }); //End of Drop down menu
The HTML looks something like: <ul class="nav"> <li><a><span></span></a></li> <li><a><span></span></a></li> <li><a><span></span></a> <ul class="nav"> <li><a><span></span></a></li> </ul> </li> </ul>
I would like to set the height of certain #div elements on a page based on the height of the user's current window state. It should draw the elements based on the size of the window at onLoad, and also respond to the onResize event.
I've written a small plugin to serve as a feature rotator and am having one strange problem.You can see some demos of the plugin and documentation here:
http://pbskids.org/pbskidswidgets/carousel.html.The plugin does a number of things that involve reading the width and height of DOM elements and using them to set the width and height of other elements. The problem is that sometimes in Firefox and Safari, when the page loads, the widths and heights of panels in the carousel are fracked.
Reload the page and the problem's fixed. In Safari, I can't get it to happen again on many reloads. In Firefox, though, if I reload repeatedly, I can get the problem to happen again: maybe once every seven or eight times.It looks like something's happening with page loading, but I'm at a loss to diagnose it further: is the script firing before the elements have fully loaded sometimes, and then works on subsequent tries because those elements are in the cache? Also: I've never seen this error in any of the IE versions.
I'd like to be able to feed in a variable to the selector. for example, if i have the string "div" stored in a variable and want to select using that variable, the following code works:
var div = "div"; var id = "#option_" + div; $(id).click( function() {
Is there either a client-side solution in HTML or Javascript, or will I have to use a server-side solution in PHP? I'm completely stuck and under a Monday AM deadline to come up with a solution.
Currently they are all just set at 50% width, I'd like the width to automatically adjust the width based on the input box value, without the user having to submit anything! If anything in jQuery exists like this to, to get a nice smooth scrolling that'd be lovely but not essential.
I have a list of thumbnails generated by Wordpress. I've been trying to piece together a script that would change the ID of the parent element based on the image inside of it I can't seem to get anywhere, does anyone have a simple solution?
I need the id of the li to be "sm" or "smp" depending on the width of the image inside of it (landscape or portrait)
So i'm just getting into writing jquery. it's my first scripting language and first time in the field of programing. I have a general idea of what i want to do, but not so much how to get it done. Objective: I would like to change the class of a div "ActiveSelection" to the same name as the id of a clicked link in the "catalog" ul. Here is an example of the HTML
I am trying to write a custom BBcode for a forum I moderate. I don't have the licensing information because its not my forum and i am just a moderator. If anyone wants to verify the legitimacy of the forum I work for please PM me and I will try and get you any information I can.
I have a number of SELECT drop downs, each in their own DIV. Each of these DIVs is in the same location but only one is visible at a time. I have two buttons on another DIV (previous and next) and want to position the buttons to the right of the SELECT group (based on the position and width of the longest SELECT). I do not know the position of the SELECTs until the page loads.
Here's the code:
Code: <html> <head> <style>
[Code]....
I'm debugging using firebug in firefox and everything works with getting the values I need - it just won't set the left attribute in the DIV.
Essentially the idea is to make Element-B and Element-C to cover the area horizontally starting from center of Element-A and ending at the edge of viewport.So, I guess i want to get the distance value from the center of Element-A to the edge of viewport
Additional notes:
Element-A doesnt have static position or size. Element-B and Element-C verticalposition or height is irrelevant.
I was thinking something like this:Calculate width of Element-A and divide it by two ( Or just get half the width if theres a way. ) Get the distance from the edge of Element-A to the edge of Viewport Add up these calculated values.Of course unless theres way to get that this width straight up )I was trying to look for a way to do list item 2.
I have a dynamic jCarousel which pulls in JSON data from php, and prints out the list html. What I'm trying to do is set the carousel start item as a variable, which would find the item with the class ".active", and start with that item. The problem is that since the data is dynamic when it looks for the start item, the list hasn't yet been rendered, therefore doesn't find any class or list data. The code below works with a static list, but not dynamic. I think my options are (a) wait for carousel to load, then somehow set the "start" item after, or (b) after list loads auto-scroll to the item with class ".active".
Here's the code i'm working with for the dyamic list: ------------------------------ <script language="javascript"> $(document).ready(function() { /* create an image slideshow from a JSON array using jcarousel */
how to write a function that pulls the padding-right px value from a div.It's entered as an em, but when I inspect it in the console, I see it's calculated as px.I guess I need var pad = ?and then I need to add var pad's value to my_div's existing padding-right
I forget how to do this. Maybe somebody can point me to a decent tutorial. But I'm looking to grab the width of an <li>, including padding and margins that doesn't have a set width, and has one of 'auto' or 0.