• A
  • " />
    • A
    • " />
      • A
      • "/>

        TechQA.

        Issue on Path Fill Effect by Hover on Associated Link With Raphaël.js

        117 views Asked by Suffii At 2015-06-08T01:26:45+00:00 08 June 2015 at 01:26 2025-12-25T12:07:02+00:00

        Can you please take a look at this demo and let me know why I am not able to add fill effect on hover on list?

        <div id="canvas"></div>
        <ul>
            <li>A</li>
            <li>B</li>
            <li>C</li>
        </ul>
        
        <script>
        window.onload = function () {
            var c = Raphael("canvas", 200, 200);
            var a = c.path("M50 50, L50,60, L60,60 L60,50 L50,50").attr({fill: "#000"});
            var b = c.path("M70 70, L70,80, L80,80 L80,70 L70,70").attr({fill: "#000"});
            var c = c.path("M90 90, L90,100, L100,100 L100,90 L90,90").attr({fill: "#000"});
        
        };
        jQuery('ul li').hover(function () {
            a.attr({fill: "#ccc" });
        }, function () {
            a.attr({fill: "#000" });
        });
        </script>
        
        javascript jquery raphael
        Original Q&A
        1

        There are 1 answers

        1
        Walter Chapilliquen - wZVanG Walter Chapilliquen - wZVanG On 2015-06-08T01:32:42+00:00 08 June 2015 at 01:32 BEST ANSWER

        window.onload is running asynchronously, so the variables a, b, c must be declared before

        jQuery(document).ready(function(){
        
            var Draw = Raphael("canvas", 200, 200);
        
            var Letters = {
                a: Draw.path("M50 50, L50,60, L60,60 L60,50 L50,50").attr({fill: "#000"}),
                b: Draw.path("M70 70, L70,80, L80,80 L80,70 L70,70").attr({fill: "#000"}),
                c: Draw.path("M90 90, L90,100, L100,100 L100,90 L90,90").attr({fill: "#000"})
            }
        
            jQuery('ul li').each(function(){
                var letter = $(this).text().toLowerCase()
                , defaultColor = Letters[letter].attr("fill");
        
                $(this).hover(function(){
                    Letters[letter].attr({fill: "#ccc" });
                }, function(){
                    Letters[letter].attr({fill: defaultColor });
                });
            });
        
        });
        

        Update, based on list letters: Demo

        Related Questions in JAVASCRIPT

        • Using Puppeteer to scrape a public API only when the data changes
        • inline SVG text (js)
        • An array of images and a for loop display the buttons. How to assign each button to open its own block by name?
        • Storing the preferred font-size in localStorage
        • Simple movie API request not showing up in the console log
        • Authenticate Flask rest API
        • Deploying sveltekit app with gunjs on vercel throws cannot find module './lib/text-encoding'
        • How to request administrator rights?
        • mp4 embedded videos within github pages website not loading
        • Scrimba tutorial was working, suddenly stopped even trying the default
        • In Datatables, start value resets to 0, when column sorting
        • How do I link two models in mongoose?
        • parameter values only being sent to certain columns in google sheet?
        • Run main several times of wasm in browser
        • Variable inside a Variable, not updating

        Related Questions in JQUERY

        • In Datatables, start value resets to 0, when column sorting
        • Bootstrap modal not showing at the desired position on a web page when the screen size is smaller
        • window.location.href redirects but is causing problems on the webpage
        • Using JQuery Date Slider
        • Storing selected language in localStorage
        • How to stop other divs from still showing when i click a different button?
        • Check multiple values with jQuery
        • Bootstrap component does not want to render in Datatables function
        • put white spaces when entering an amount moneytype symfony
        • Trouble accessing custom header in AJAX response using jQuery in Fiware Keyrock
        • I just cant make it work, HTML, JS and Firebase error
        • Didn't declared variable still not getting any error in JavaScript
        • Move element horizontally while scrolling vertically in pure JavaScript
        • allow multi carousel in same page
        • Embedded TikTok posts / thumbnail styling issue

        Related Questions in RAPHAEL

        • How to identify individual path objects in raphael.js?
        • React-Raphael Drag function on path
        • How to manage text on Mapael map when hover?
        • how to get center coordinates of rectangle in raphaeljs
        • How to create point at left edge mid of rectangle in raphael js
        • Raphael: Improving Range of Path Onclick
        • How can I plot against a curved path on an svg at specific x positions on the path?
        • How do I clone a Raphael paper object while keeping the original object's functions?
        • How to know the m or M point of path from all of points in svg?(use raphael.js)
        • Javascript setInterval "crashes" after a while?
        • select div by id using vanilla JS instead of JQuery $ selector to apply Raphaeljs method
        • Raphael Elements Undefined when Created in a Function?
        • How can I make Raphael JS faster in IE 11?
        • The rendering order of the React-raphael components (like z-index)
        • What is the Raphael.transformPath analogue in svg.js?

        Popular Questions

        • How do I undo the most recent local commits in Git?
        • How can I remove a specific item from an array in JavaScript?
        • How do I delete a Git branch locally and remotely?
        • Find all files containing a specific text (string) on Linux?
        • How do I revert a Git repository to a previous commit?
        • How do I create an HTML button that acts like a link?
        • How do I check out a remote Git branch?
        • How do I force "git pull" to overwrite local files?
        • How do I list all files of a directory?
        • How to check whether a string contains a substring in JavaScript?
        • How do I redirect to another webpage?
        • How can I iterate over rows in a Pandas DataFrame?
        • How do I convert a String to an int in Java?
        • Does Python have a string 'contains' substring method?
        • How do I check if a string contains a specific word?

        Trending Questions

        • UIImageView Frame Doesn't Reflect Constraints
        • Is it possible to use adb commands to click on a view by finding its ID?
        • How to create a new web character symbol recognizable by html/javascript?
        • Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
        • Heap Gives Page Fault
        • Connect ffmpeg to Visual Studio 2008
        • Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
        • How to avoid default initialization of objects in std::vector?
        • second argument of the command line arguments in a format other than char** argv or char* argv[]
        • How to improve efficiency of algorithm which generates next lexicographic permutation?
        • Navigating to the another actvity app getting crash in android
        • How to read the particular message format in android and store in sqlite database?
        • Resetting inventory status after order is cancelled
        • Efficiently compute powers of X in SSE/AVX
        • Insert into an external database using ajax and php : POST 500 (Internal Server Error)
        • Privacy
        • Terms
        • Cookies
        • Homegardensmart
        • Math
        • Aftereffectstemplates