שלח תשובה

זירת השאלות

537
צפיות
5
תשובות

שינוי גליון הCSS בעזרת javascript

,‏ 30 ביוני, 2008

צהריים טובים,
אשמח אם משהו יכול לעזור לי עם בעיה שיש לי בהכנת ש"ב לקורס הjavascript.
אני אמורה לשנות את CSS ע"י שהמשתמש יבחר את הסגנון המעודף עליו עם כפתורי רדיו.
הצלחתי למצוא קוד שעובד אבל הבעיה היא שכל פעם שהמשתמש מחליף סגנון על הדף נמחק ומראה רק את צבע הרקע (המותאם לפי דף הCSS שנבחר)
איך אפשר להשאיר את כל הטקסט וכ’ שישתנה לפי הסגנון שנבחר?
בתודה ובתקווה לתשובה מהירה

תגיות:

5 תשובות

  1. קשה לנחש מה הבעיה
    בלי לראות באיזו שיטה את משתמשת…


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

  2. webaby הגיב:

    הנה הקוד
    ar expDays = 9999;  // How many days to remember the setting
    var standardStyle = ‘2’; // This is the number of your standard style sheet; this will be used when the user did not do anything.
    var nameOfCookie = ‘switchstyle’; // This is the name of the cookie that is used.
    var urlToCSSDirectory = ”; // This is the URL to your directory where your .css files are placed on your site.  For example:
    var ScreenCSS_1 = ‘classic.css’;
    var ScreenCSS_2 = ‘hightech.css’;
    var ScreenCSS_3 = ‘screen_3.css’;
    // This is the main function that does all the work
    function switchStyleOfUser(){
        var fontSize = GetCookie(nameOfCookie);
        if (fontSize == null) {
            fontSize = standardStyle;
        }

        if (fontSize == "1") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ‘ ‘ + ScreenCSS_1 + ‘" media="screen">’); }
        if (fontSize == "2") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ScreenCSS_2 + ‘" media="screen">’); }
        if (fontSize == "3") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ScreenCSS_3 + ‘" media="screen">’); }

        var fontSize = "";
        return fontSize;
    }

    var exp = new Date();
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

    function getCookieVal (offset) {
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
        endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
    }

    // Function to get the settings of the user
    function GetCookie (name) {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen) {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
            return getCookieVal (j);
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) break;
        }
        return null;
    }

    function SetCookie (name, value) {
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? ";

  3. webaby הגיב:

    סליחה
    ar expDays = 9999;  // How many days to remember the setting
    var standardStyle = ‘2’; // This is the number of your standard style sheet; this will be used when the user did not do anything.
    var nameOfCookie = ‘switchstyle’; // This is the name of the cookie that is used.
    var urlToCSSDirectory = ”; // This is the URL to your directory where your .css files are placed on your site.  For example:
    var ScreenCSS_1 = ‘classic.css’;
    var ScreenCSS_2 = ‘hightech.css’;
    var ScreenCSS_3 = ‘screen_3.css’;
    // This is the main function that does all the work
    function switchStyleOfUser(){
        var fontSize = GetCookie(nameOfCookie);
        if (fontSize == null) {
            fontSize = standardStyle;
        }

        if (fontSize == "1") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ‘ ‘ + ScreenCSS_1 + ‘" media="screen">’); }
        if (fontSize == "2") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ScreenCSS_2 + ‘" media="screen">’); }
        if (fontSize == "3") { document.write(‘<link rel="stylesheet" type"text/css" href="’ + urlToCSSDirectory + ScreenCSS_3 + ‘" media="screen">’); }

        var fontSize = "";
        return fontSize;
    }

    var exp = new Date();
    exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

    function getCookieVal (offset) {
        var endstr = document.cookie.indexOf (";", offset);
        if (endstr == -1)
        endstr = document.cookie.length;
        return unescape(document.cookie.substring(offset, endstr));
    }

    // Function to get the settings of the user
    function GetCookie (name) {
        var arg = name + "=";
        var alen = arg.length;
        var clen = document.cookie.length;
        var i = 0;
        while (i < clen) {
            var j = i + alen;
            if (document.cookie.substring(i, j) == arg)
            return getCookieVal (j);
            i = document.cookie.indexOf(" ", i) + 1;
            if (i == 0) break;
        }
        return null;
    }

    function SetCookie (name, value) {
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : null;
        var domain = (argc > 4) ? argv[4] : null;
        var secure = (argc > 5) ? argv[5] : false;
        document.cookie = name + "=" + escape (value) +
        ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
        ((path == null) ? "" : ("; path=" + path)) +
        ((domain == null) ? "" : ("; domain=" + domain)) +
        ((secure == true) ? ";

  4. למה?
    יש אפשרות ליישר אותו שמאלה…

    תביאי בבקשה רק את הקוד הרלוונטי, ומאחר והוא לא מתועד – תסבירי מה הוא עושה ומה בדיוק הבעיה…


    אלי ענתבי
    entry interactive
    http://www.entry.co.il

שלח תשובה

חדש! אחסון אתרים של וובמאסטר

שירות אחסון אתרים
המקצועי של וובמאסטר!

מומחים באירוח אתרי
WordPress, Joomla, Drupal

  • שרתי לינוקס עם CloudLinux, LiteSpeed
  • 1GB דיסק SSD, 10GB תעבורה חודשית
  • ממשק ניהול cPanel, תעודת SSL חינם

עכשיו במחיר היכרות:
רק 420 ש"ח לשנה!