Или вы можете изменить положение определенного
div
, используя имя класса
$(document).scroll(function(e){
var scrollTop = $(document).scrollTop();
if(scrollTop > 0){
//console.log(scrollTop);
$('.header').css("position","fixed");
} else {
$('.header').css("position","relative");
}
});
Что ж, вам придется каким-то образом сказать Ури , что последняя часть - это каталог, а не файл. Использование косой черты в конце кажется мне наиболее очевидным способом.
Имейте в виду, что для многих ури ваш ответ совершенно правильный. Например, если ваш веб-браузер выполняет рендеринг
http://foo.com/bar/index.html
и видит относительную ссылку «other.html», он переходит к
http://foo.com/bar/other.html
, а не
http://foo.com/bar/index.html/other.html
. Использование завершающей косой черты в «каталоге» Uris - довольно знакомый способ предлагая, чтобы относительный Uris просто добавлялся вместо замены.
Почему бы просто не унаследовать от Uri и не использовать его, т.е. сделать в конструкторе, что нужно сделать, чтобы это исправить? Рефакторинг является дешевым, если он является внутренним по отношению к сборке или находится в пределах досягаемости.
добавьте косую черту в конце вашего первого uri, URI будет игнорировать более одной косой черты (/)
var a = new Uri("file:///C:/Some/Dirs/");
EDIT:
var a = new Uri("file:///C:/Some/Dirs");
var b = new Uri("some.file", UriKind.Relative);
var c = new Uri(Path.Combine(a.ToString(), b.ToString()));
MessageBox.Show(c.AbsoluteUri);
Вы можете попробовать этот метод расширения! Работает всегда! ;-)
public static class StringExtension
{
public static string UriCombine(this string str, string param)
{
if (!str.EndsWith("/"))
{
str = str + "/";
}
var uri = new Uri(str);
return new Uri(uri, param).AbsoluteUri;
}
}
Angelo, Alessandro