asp.net скрыть отображение при загрузке многих изображений - PullRequest
1 голос
/ 29 августа 2011

Я разрабатываю карточную игру.У меня есть страница ASP.NET с 52 маленькими изображениями (карточками), скажем, 300 Кбайт.

Когда страница загружается в первый раз, эффект уродлив: пользователь может видеть каждую загружаемую карту вочередь.Более того, только некоторые изображения должны отображаться после загрузки страницы.

Отсюда большая проблема:

Я не могу сделать изображения скрытыми из ASP.NET, так как если они скрыты, они просто НЕ отображаются.внутри "динамически генерируемой" страницы aspx!

И, конечно, когда я использую функцию js, запущенную из события windows.onload, пользователь увидит все изображения, прежде чем я смогу спрятать их в javascript!

Грязным способом было бы создать Div, который будет отображаться перед всеми другими объектами, поскольку я использую абсолютное позиционирование.

Я совершенно уверен, что вы все гуру, у вас есть лучшие идеи! ...

Ответы [ 2 ]

1 голос
/ 30 августа 2011

У меня есть небольшое представление о том, как такие вещи часто делают в разных библиотеках jQuery.Идея состоит в том, чтобы упаковать все карточки в ОДНОЕ изображение и показать различные паттерны изображения, установив это изображение в качестве фона для div и изменив смещения.

Например, Google это делает.Взгляните: http://www.google.ru/images/nav_logo83.png Это элементы, используемые в SERP

1 голос
/ 29 августа 2011

Если все изображения заключены в один элемент (скажем, div), тогда вы можете установить его CSS по умолчанию display: none, чтобы даже во время рендеринга страницы он не показывался пользователю.Затем, когда весь контент загружен, отобразите его для пользователя.Примерно так:

<style type="text/css">
  #imageContent { display: none; }
</style>
<div id="imageContent">
  <!-- your images are here -->
</div>
<script type="text/javascript">
  // assuming jQuery because, well, come on
  $(document).load(function() {
    $('#imageContent').show();
  });
</script>

Теперь это не дает никаких гарантий, что загрузка изображений не займет много времени, в результате чего пользователь некоторое время не видит ни одного из них.И если некоторые из них не загружаются, я не уверен, что произойдет.Я полагаю, что событие все равно сработает, как только DOM прекратит попытки загрузки сбойных ресурсов.

Естественно, вы захотите придать всему этому стиль, чтобы переход от отсутствия изображений ко всем изображениямгладкий пользовательский опыт.Если это займет несколько минут, то, возможно, пользователь уже взаимодействует со страницей, когда изображения неожиданно загружаются и перемещают содержимое (я не видел вашу страницу, поэтому, возможно, это не проблема.)

Итак, выВы захотите проверить что-то вроде этого на известном медленном соединении или на известных разорванных изображениях, чтобы увидеть, как все это ведет себя.

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