Aşağıdaki kodu kullanıyorum:.top jquery TypeScript definition dosyalarını eksik mi?
$('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top });
typescript bana söyleyen bir hata mesajı veriyor:
The property 'top' does not exist on value of type 'Object'
Ben tahmin ediyorum bir şey jQuery tanım dosyası eksik. Bu sorunu başka biri gördü mü yoksa normalde jQuery ile kullanılmayan bir şey mi? Daha önce görmediğim bir şey.
Daha fazla bilgi için. jquery.d.ts Dosyadan
$.fn.buildTableOfContent = function() {
"use strict";
var h2 = this.find('h2');
if (h2.length > 0) {
var h1 = this.find('h1:first');
if (h1.length === 0) {
h1 = this.prepend('<h1>Help</h1>').children(':first');
}
var menu = h1.wrap('<div class="h1 with-menu"></div>')
.after('<div class="menu"><img src="/Content/images/menu-open-arrow.png" width="16" height="16"><ul></ul></div>')
.next().children('ul');
h2.each(function (i) {
this.id = 'step' + i;
menu.append('<li class="icon_down"><a href="#step' + i + '">' + $(this).html() + '</a></li>');
});
menu.find('a').click(function (event) {
event.preventDefault();
$('html, body').animate({ scrollTop: $($(this).attr('href')).offset().top });
});
}
return this;
};
Eğer '(ofset do Could deneyin: {top: numarası; sol: sayı; }; '' TS tanımında isteğe bağlı? –
@mcpDESIGNS Aslında çalışmış olduğunu düşündüm, ancak değiştirilmiş bildirimi olan benim düzenlenmiş jquery.d.ts hala kullanıyordum. Her neyse, hayır, 'offset' üyesini isteğe bağlı yapmak, sadece 'JQuery' arayüzünün geçerli bir uygulamasına sahip olmak için uygulanması gerekmediği anlamına gelir. Üyeleri gizlemek için kullanabileceğiniz görünmüyor; jquery.d.ts dosyasına eklemeye çalışırsanız, offset'in diğer aşırı yüklenmelerinin geçerli olmasını engellersiniz. Ayrıca, "ofset" olarak bildirmeniz gerekecek mi? :() => {üst: sayı; sol: sayı; sözdizimsel olarak geçerli olmak için. – nxn