Фоновое изображение, установленное сбросом jQuery после перенаправления - PullRequest
0 голосов
/ 22 октября 2011

Я пытаюсь изменить фоновое изображение моего веб-сайта (в теге body), когда пользователь нажимает кнопку меню и переходит на другую веб-страницу.

Я использую jquery в _Layout.cshtml и делаю так:

 <body>
<div class="page">
    <header>
        <br />
        <div id="menubutton">
            <a href="@Url.Action("Index", "Kitchen")" id="bg1">
                <img src="../../Content/Layout_images/menu_kitchen.png" alt="kitchen" /></a>
            <a href="@Url.Action("Index", "Stock")" id="bg2" >
                <img src="../../Content/Layout_images/menu_stock.png" alt="stock" /></a> 
            <a href="@Url.Action("Index", "Shop")" id="bg3" >
                    <img src="../../Content/Layout_images/menu_shop.png" alt="shoppinglist" /></a>
        </div>

<script type="text/javascript">

$(function () {
    $('#menubutton a').live('click', function () {

        // Get the background class from id
        var bgclass = $(this).attr('id');
        var temp = "url('Content/Layout_images/bg2.jpg')";

        $('body').css('background-image', temp);
        alert($('body').css('background-image'));
        // Set the clicked menu button color
        var menuclass = bgclass + "_menu";
        $(this).removeClass();
        $(this).addClass(menuclass);
    });
});

Однако, хотя фоновое изображение меняется, когда пользователь нажимает кнопку меню, оно сразу же возвращается к фоновому изображению по умолчанию, установленному в css (Примечание: даже если я не установил любое фоновое изображение на css, оно немедленно изменится на пустое фон после перенаправления страницы)

Есть идеи, почему это происходит? Если не ошибаюсь, предположим, что jquery .css () изменит css конкретного домена? Почему он все равно будет сброшен после перехода на другую страницу?

Надеюсь, здесь можно помочь ... спасибо ...

1 Ответ

1 голос
/ 22 октября 2011

Когда вы нажимаете на кнопку, вы перенаправляетесь на новый URL и файл макета перезагружается.Это означает, что вам нужен какой-то метод для сохранения информации фонового изображения при загрузке нового URL.

@Url.Action("Index", "Kitchen", new { bgImage = 'image url here'} )

А затем в файле макета напишите функцию js (внутри $ (документ).ready (function () {} )) для установки этого параметра bgImage в качестве фонового изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...